爬虫绕过登陆方法

       相信很多网友在写网络爬虫的时候,会遇到需要登陆的情况,比如说在爬取新浪微博的时候,明明爬取的是某个微博的链接,然而新浪返回的却是登陆界面的数据,这样就得不到所需要的微博数据。那么要怎样才能绕过登陆界面呢?

       其实很简单,浏览器在访问新浪微博的时候,只需要登陆一次后面就可以不需要登陆了,访问什么微博的链接都会得到对应的数据,靠的就是浏览器的cookie,新浪会根据该cookie来判断浏览器是否已经登陆过,我们可以利用该cookie来实现绕过登陆页面。具体的步骤如下:

       首先通过浏览器登录到所需要爬取的网站,登陆完成后,通过浏览器的开发者模式获得浏览器与网站通讯的cookie,将其值复制下来。

       在程序中,可以在建立连接的时候设置请求的cookie,直接将复制下来的cookie值设置进去就可以了,然后就可以愉快的爬取数据了。以java语言为例:

URLConnection url_con = url.openConnection();
url_con.setRequestProperty("Cookie", "your browser's cookie value");