.爬取豆瓣电影短评 爬下来用户名 评分 评论 写入csv 爬取多页 10页数据的python完整代码
时间: 2024-11-23 09:51:10 浏览: 8
爬虫-豆瓣电影数据爬取-资料代码
要完成这个任务,你需要使用Python的requests库来获取网页内容,BeautifulSoup库来解析HTML,以及pandas库来处理和写入CSV文件。由于豆瓣API已经关闭,这里我将提供一个基本的模拟网页抓取示例,用于爬取并分析静态页面的数据。请注意,实际操作时请尊重网站的robots.txt规则,并遵守相关法律法规。
```python
import requests
from bs4 import BeautifulSoup
import pandas as pd
# 模拟URL,这里假设豆瓣电影短评的链接结构
base_url = "https://movie.douban.com/top250?start={}"
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'
}
# 创建一个空列表存储数据
data_list = []
for page in range(1, 11): # 爬取10页
url = base_url.format(page * 25)
response = requests.get(url, headers=headers)
soup = BeautifulSoup(response.text, 'html.parser')
# 根据豆瓣电影页面结构找到评论区域并解析数据
# 这里假设评论区在`div`标签内,id为'reviews',用户名、评分、评论在对应class下,实际需要根据实际情况调整
comments = soup.find('div', {'id': 'reviews'}).find_all('span', class_='comment-info')
for comment in comments:
username = comment.find('span', class_='comment-user').text
rating = comment.find('span', class_='rating_nums').text
review = comment.find('span', class_='short').text
data_list.append({'username': username, 'rating': rating, 'review': review})
# 将数据写入CSV文件
df = pd.DataFrame(data_list)
df.to_csv('douban_movie_reviews.csv', index=False)
阅读全文