本文目录一览:
简单NodeJS爬虫和使用cookie进行模拟登录
NodeJS做爬虫也是很方便的。因为nodejs有HTTP模块直接可以使用,而且还有很多简单粗暴的库可以即拿即用。
首先,需要的库文件,
1、superagent 是个轻量的的 http 方面的库,就像jquery的post,和get一样,很简单。
2、cheerio 是一个服务端操作DOM的库,简直就是服务端的jquery。
好的,我们需要抓取某个网站的题目。如下图。这个系统下,及时是游客状态也是可以查看题目的,只是答案我们看不到。会显示我没有登录。
现在我们有个需求,先抓取15页,根据URL的参数可以页数就是地址中 的P。并且要有本地cookie,获取cookie的方法,最简单的是,利用浏览器登录网站之后,在控制台直接打印document.cookie,得到之后,复制进txt文本。用fs模块读取并转换成字符串。在superagent请求时,把cookie传进去。
好了,控制台已经不输出“未登录”,说明已经登录成功了。
爬虫 如何抓包获取cookie
我们需要使用爬虫程序对目标网站登录时的请求进行一次抓取,获取请求中的cookie数据;
在使用个人信息页的url进行请求时,该请求需要携带cookie,只有携带了cookie后,服务器才可识别这次请求的用户信息,方可响应回指定的用户信息页数据。
爬虫除了要注意Cookie的限制之外,还需要注意其他的反爬虫,比如IP限制,这就需要使用极光代理IP进行更换IP地址,以其他的IP地址继续访问,突破网络限制。当然,还有其它很多的限制,爬虫在进行采集之前需要好好分析网站的反爬虫策略。
用Node 做爬虫时有带 cookie 的请求怎么破
方法:对 superagent 封装一下,每次都自动把新 cookie 取出,再下一次请求的时候 set 进去。
用post打开"连接1"提交登录数据,通过"连接1"获得Cookie信息,保留下来在以后的连接中加入Cookie数据