使用requests和lxml库,提取 https://news.baidu.com/中的热点要闻节点的标题和链接,并存储为json文件
时间: 2024-10-16 22:17:25 浏览: 0
为了使用`requests`和`lxml`库从指定网页中提取热点要闻节点的标题和链接并将其存储为JSON文件,首先你需要安装这两个库,如果还没有安装可以使用以下命令:
```bash
pip install requests lxml
```
接下来是一个简单的Python脚本示例,它将按照你的需求完成这个任务:
```python
import requests
from bs4 import BeautifulSoup
import json
# 请求百度新闻网页
url = "https://news.baidu.com/"
response = requests.get(url)
# 检查请求是否成功
if response.status_code == 200:
# 解析HTML内容
soup = BeautifulSoup(response.text, 'lxml')
# 找到热点要闻部分(这通常有一个特定的CSS选择器或者ID)
# 这里假设热点新闻列表在id为"hotnews_list"的div元素中
hot_news_list = soup.select('#hotnews_list .title a')
# 创建一个空列表来存储结果
news_data = []
# 提取每个新闻的标题和链接
for item in hot_news_list:
title = item.text
link = item['href']
news_data.append({'title': title, 'link': link})
# 将数据保存为JSON文件
with open('news.json', 'w') as f:
json.dump(news_data, f, ensure_ascii=False, indent=2)
else:
print(f"请求失败,状态码:{response.status_code}")