一次用爬虫扒取豆瓣电影条目信息的尝试

本文讲述了作者尝试使用爬虫抓取豆瓣电影条目的经历,包括遇到的反扒机制、如何处理登录问题,特别是关注了登录时headers中的'dbcl2'字段。通过nodejs结合request-promise-native和tough-cookie库实现了动态添加cookie,以获取并解析豆瓣电影页面的JSON数据。
摘要由CSDN通过智能技术生成

最近做个电影的东西,突发奇想把豆瓣的电影条目扒下来一点,看了下,现在大概有140个左右的条目,这些条目分得比较细,连某个人的电影都分了出来,所以重复的也比较多,当然这些我都还没细弄,只是大致扒了一点,而且因为扒得太快,导致暂时被封ip了。

昨天尝试了很久,本来不登录也能正常扒取电影信息,但是现在不行了,必须要登录。

豆瓣的反扒机制做得很简陋,以至于我成功时候以为就没有反扒机制。

刚开始是直接通过链接来扒取,豆瓣有的网页是返回json字符串,有的是返回整个网页,所以要区分开来。

整个扒取最关键的一点是初次登录时候response的headers里面set-cookie中的“dbcl2”一项,登录豆瓣时候的login返回的headers中set-cookie是有多项的,我没在npm库里面找到有什么好的解析方法,所以这个只能每次扒的时候手动添加,请求时候添加cookie用的是tough-cookie,这个库还是比较好用的,配合request-promise-native很简单,官方也有例子,大致看下就会了。
放一个获取单页20个条目的源代码,tough-cookie官方给的例子我觉得有的地方不太清晰,其实直接按照

let cookieJar = ne
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值