最近有一个需求就是爬取CSDN上的数据,但是目前遇到了一个问题就是关于获取CSDN的cookie的问题。到目前为止并没有什么好的办法。希望大家可以给我留言,我们一起探讨。。
在我没有设置cookie的时候,会报以下错误。
function setCookie(name,value){var expiredate=new Date();expiredate.setTime(expiredate.getTime()+(3600*1000));document.cookie=name+"="+value+";expires="+expiredate.toGMTString()+";max-age=3600;path=/";}
function reload(x) {setCookie("acw_sc__v2", x);document.location.reload();}
造成这个的原因主要是因为我们在进行网络爬虫的时候模拟浏览器进行网络访问的,所以这里需要我们在我们的请求信息里边加上cookie值。
但是如何获取cookie值呢?目前我找的方法主要有以下几种
1.
可以第一次先访问网站的首页,看看能不能拿到cookie
我们可以将这些cookie值放入到我们的请求里边。
在我这里我把cookie的值放在了application.yml当中,大家也可以直接将值放在这里。
2.另外就是使用用一些工具,使用selenium获取cookie,我在下边找到了一些博客,希望能有所帮助,但是到目前为止我还没有解决自动获取cookie的问题,如果有同学谁弄好,请指点我一下吧。。。。
selenium博客1
selenium博客2
我的代码下载地址-----不需要积分