前言💨
本文的文字及图片来源于网络,仅供学习、交流使用,不具有任何商业用途,如有问题请及时联系我们以作处理。
PS:如有需要 Python学习资料
以及 解答
的小伙伴可以加点击下方链接自行获取
python免费学习资料以及群交流解答点击即可加入
基本开发环境💨
- Python 3.8
- Pycharm
相关模块的使用💨
import csv
import requests
安装Python并添加到环境变量,pip安装需要的相关模块即可。
豆瓣的网站数据, 没有什么反爬, 同样也静态网页数据,所以没有什么
import requests
import parsel
import csv
f = open('长津湖短评.csv', mode='a', encoding='utf-8-sig', newline='')
csv_writer = csv.DictWriter(f, fieldnames=[
'用户名',
'是否看过',
'推荐',
'日期',
'点赞',
'内容',
])
csv_writer.writeheader()
url = 'https://movie.douban.com/subject/25845392/comments?start=40&limit=20&status=P&sort=new_score'
headers = {
'user-agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/94.0.4606.71 Safari/537.36'
}
response = requests.get(url=url, headers=headers)
selector = parsel.Selector(response.text)
divs = selector.css('#comments div.comment-item')
for div in divs:
name = div.css('.comment-info a::text').get() # 用户名
span = div.css('.comment-info span:nth-child(2)::text').get() # 是否看过
feel = div.css('.comment-info span:nth-child(3)::attr(title)').get() # 推荐
date = div.css('.comment-info span:nth-child(4)::text').get().strip() # 日期
content = div.css('.comment-content .short::text').get() # 内容
vote = div.css('.comment-vote span::text').get() # 点赞
dit = {
'用户名': name,
'是否看过': span,
'推荐': feel,
'日期': date,
'点赞': vote,
'内容': content,
}
csv_writer.writerow(dit)
print(dit)