用jupyter notbooks编写利用xpath爬取武汉大学新闻数据 url = 'http://journal.whu.edu.cn/news
时间: 2024-11-22 18:37:48 浏览: 21
【Scrapy爬虫项目】爬取books.toscrape.com上书籍的相关信息并存储为csv文件
在Jupyter Notebook中使用XPath爬取武汉大学新闻数据通常需要以下几个步骤:
1. 安装必要的库:首先,确保你已经安装了`requests`, `beautifulsoup4` 和 `lxml` 这些用于网络请求、HTML解析的Python库。如果还没有,可以使用以下命令安装:
```bash
pip install requests beautifulsoup4 lxml
```
2. 导入库并发送请求:在Notebook中导入所需的模块,并发送GET请求获取网页内容。
```python
import requests
from bs4 import BeautifulSoup
import pandas as pd
url = 'http://journal.whu.edu.cn/news'
response = requests.get(url)
html_content = response.text
```
3. 解析HTML:使用BeautifulSoup解析抓取到的HTML内容,选择包含新闻数据的部分。XPath表达式有助于定位特定元素。例如,假设新闻列表在`div`标签内,且有共同的class名,我们可以这样做:
```python
soup = BeautifulSoup(html_content, 'lxml')
news_list = soup.select('.news-item') # 用你的类名替换'.news-item'
```
4. 提取信息:遍历每个找到的`div`元素,从中提取标题、链接等信息。XPath可以指定节点属性或后代元素:
```python
data = []
for news in news_list:
title = news.select_one('h2 a').text # 获取标题
link = news.select_one('h2 a')['href'] # 获取链接
data.append({'title': title, 'link': link})
# 将数据转换成DataFrame,方便后续处理
df_news = pd.DataFrame(data)
```
5. 可视化或保存结果:将数据框架显示出来,或者保存为CSV文件以便后续分析。
```python
df_news.head() # 显示前几行
df_news.to_csv('wuhan_university_news.csv', index=False)
阅读全文