读取豆瓣首页内容,将爬取到的html文件分别保存为json和csv格式文件,需要按节点进行保存的代码
时间: 2024-09-27 09:14:29 浏览: 46
要在Python中实现从豆瓣首页爬取内容并将HTML转换为JSON和CSV格式,你需要使用一些基本的网络请求库如`requests`来获取网页,然后使用解析库如`BeautifulSoup`来处理HTML。这里是一个简化的示例,不过请注意实际的网页结构可能会有所不同,因此你可能需要调整代码以适应实际情况:
```python
import requests
from bs4 import BeautifulSoup
import json
import csv
# 发送GET请求获取豆瓣首页内容
url = "https://book.douban.com/"
response = requests.get(url)
content = response.text
# 使用BeautifulSoup解析HTML
soup = BeautifulSoup(content, 'lxml')
# 指定要保存的节点(这取决于你的需求,例如所有的书籍信息)
books_data = soup.find_all('div', class_='subject-item')
# 将数据转换为列表或字典,以便于保存
books_list = [{
'title': book.find('a', class_='nbg').text,
'author': book.find('span', class_='pl').text,
# 可能还有其他字段,如评分等
} for book in books_data]
# 保存为JSON文件
with open('books.json', 'w', encoding='utf-8') as f:
json.dump(books_list, f, ensure_ascii=False)
# 保存为CSV文件
fields = ['title', 'author']
with open('books.csv', 'w', newline='', encoding='utf-8-sig') as f:
writer = csv.DictWriter(f, fieldnames=fields)
writer.writeheader()
writer.writerows(books_list)
阅读全文