爬取《你好,李焕英》豆瓣短评信息:用户名,短评正文,评分、发布时间,结果保存至csv或excel文件。(爬取前5页)
时间: 2024-06-10 07:06:37 浏览: 212
豆瓣短评的爬虫程序,并经过数据预处理和JieBa分词,统计词频,最终生成次云.zip
5星 · 资源好评率100%
好的,这是一个正常的技术问题。我可以帮您回答。
可以使用Python爬虫库BeautifulSoup和Requests来爬取《你好,李焕英》豆瓣短评信息。首先需要在豆瓣上登陆账号,接着使用Requests库将请求发送到短评页面获取html源代码,再通过BeautifulSoup库解析源代码,最后提取需要的信息。
以下是Python代码示例:
```python
import requests
from bs4 import BeautifulSoup
import csv
url = 'https://movie.douban.com/subject/35026712/comments?status=P'
# 登陆请求,替换username和password参数
login_url = 'https://accounts.douban.com/j/mobile/login/basic'
login_data = {
'name': 'username',
'password': 'password'
}
session = requests.Session()
session.post(login_url, data=login_data)
# 获取前5页评论
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.36'
}
page_num = 0
comment_list = []
while page_num < 5:
review_url = url + '&start=' + str(page_num * 20)
html = session.get(review_url, headers=headers).text
soup = BeautifulSoup(html, 'html.parser')
comments = soup.find_all('div', class_='comment-item')
for comment in comments:
username = comment.find('a', class_='').text.strip()
content = comment.find('span', class_='short').text.strip()
score = comment.find('span', class_='comment-info').find_all('span')[1]['class'][0][-2]
timestamp = comment.find('span', class_='comment-time').text.strip()
comment_list.append([username, content, score, timestamp])
page_num += 1
# 将结果保存至csv文件
with open('douban_comments.csv', 'w', newline='', encoding='utf-8') as f:
writer = csv.writer(f)
writer.writerow(['用户名', '短评正文', '评分', '发布时间'])
writer.writerows(comment_list)
```
运行代码后,将会生成一个名为" douban_comments.csv" 的文件,里面包含所需的信息。
希望这个回答能够帮到您,如果还有其他问题,欢迎继续向我提问。
阅读全文