python爬虫,爬取豆瓣网的电影评论并保存的代码实现
时间: 2024-12-20 14:27:33 浏览: 37
在Python中爬取豆瓣网的电影评论并保存,你可以使用requests库获取HTML内容,然后使用BeautifulSoup解析HTML提取所需信息,最后将数据保存到文件。以下是一个简单的示例,以爬取《肖申克的救赎》的电影评论为例:
```python
import requests
from bs4 import BeautifulSoup
import json
# 目标URL
url = "https://movie.douban.com/subject/1292052/comments?start={}&limit=20&sort=new_score"
# 请求头,防止被识别为爬虫
headers = {
'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.3'
}
def get_comments(start):
# 发送GET请求
response = requests.get(url.format(start), headers=headers)
# 解析响应
soup = BeautifulSoup(response.text, 'lxml')
comments = soup.find_all('div', class_='comment-item')
data = []
for comment in comments:
username = comment.find('span', class_='comment-info').find('a').text
content = comment.find('div', class_='short').text
data.append({'username': username, 'content': content})
return data
# 获取前几页的数据
total_pages = 0
comments_per_page = 20
for i in range(0, 100, comments_per_page): # 假设最多100页
total_pages += 1
page_data = get_comments(i)
# 将数据合并并保存
with open(f'douban_movie_{total_pages}.json', 'w', encoding='utf-8') as f:
json.dump(page_data, f, ensure_ascii=False)
print("数据已保存至文件夹中")
阅读全文