电影短评和评论用户喜好的爬取

使用scrapy框架,设计两个爬虫脚本对我们需要的数据分别进行爬取。

对于电影短评的爬取,首先定义它的item,包含name和comment_url两个元素,comment_url存储着(用户url:评论)的字典元素。

写一个管道进行数据处理,由于存在字典列表,选择用json格式存储。

我提前从网上获取了豆瓣top250的电影id存储在movie_id.out文件中,在start_requests中进行读取并调用movie_parse进行爬取。原本网页默认的电影短评页面只有20个短评,需要翻页。我通过观察发现它的url包含一个规定短评数量的正则表达式,通过手动修改为“limit=100”可以让页面直接显示100条短评。

爬取需要的数据并返回给管道处理。

设计用户喜好数据的item。name为电影名,comment为该用户的短评,like为爬取到的用户喜欢的电影。

编写一个类似的管道来处理数据。

由于爬取用户喜好时,用户的“广播”页面只有20条广播,如果一页中爬取到的喜爱的电影数量不够则需要翻页操作,因此需要用类属性变量存储爬取的进度。写一个初始化函数来从movie.json中获取数据,同时初始化这些变量。Start_request就不展示了。

用户的广播页面在数据展示完后仍能继续向后翻页,但没有广播数据,因此先进行判断。若没有广播数据了,则说明这个用户已经爬取完毕;若仍有数据,则进行爬取,判断喜爱电影的数量是否达标(4个),若不达标则使p+1,爬取下一页。爬取完毕后生成item并交给管道,从comment_url列表中获取下一个用户。

github项目地址:HhhhhHans/spider (github.com)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值