⑴ 简单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传进去。
好了,控制台已经不输出“未登录”,说明已经登录成功了。
⑵ nodejs怎么设置cookie
vardate=newDate();date.setTime(date.getTime()+30*60*1000);//设置date为当前时间+30分document.cookie="key=value;expires="+date.toGMTString();//将date赋值给expires
⑶ 怎么用js实现把数据存储到本地
可以用localstorge或者是浏览器本地数据库,这对浏览器有要求,低版本的IE是不支持的
⑷ 解决vue nodejs中cros跨域cookie和session失效的问题
很多童鞋会发现vue请求api接口的时候多个地址没法共享session,也就是session会丢失。我们知道session是基于cookie的,ajax请求没法共享session主要是因为cookie跨域引起的。cookie跨域如何解决呢?
⑸ 如何通过js 把值存到session 或 cookie中
js存到 cookie 中没什么问题,只要浏览器开启cookie功能就可以了。
但是存到 session 中不行,需要通过服务端语言才可以。比如java,php之类,当然如果你后台使用的是nodejs,也可以使用javascript 存入session。
1
2
3
4
var Days = 10; //此 cookie 将被保存 10 天
var exp = new Date(); //new Date("December 31, 9998");
exp.setTime(exp.getTime() + Days*24*60*60*1000);
document.cookie = "nam=abc;expire="+ exp.toGMTString();
如上,就是js存到cookie中的代码