微博作为一个活跃的社交网络平台,拥有大量的用户,每天有成千上万的实时消息。收集这些信息,对于我们分析一个微博活动,一个微博事件,会有很大的帮助。下面是一些抓取微博数据时防止爬虫被墙挡住的小技巧。希望能对你有所帮助。
Python爬虫有哪些技巧?
技巧1:设置cookies
实际上,cookies是存储在用户终端中的一些加密数据。一些网站使用cookies来识别用户的身份。如果某次访问总是被高频请求,很可能会被网站注意到,怀疑是爬虫。这时候网站就可以通过cookies找到这次访问的用户,拒绝他的访问。
有两种方法可以解决这个问题。一种是自定义cookie策略,防止cookie被拒绝,另一种是禁止cookie。
技巧2:修改ip
其实微博识别的是IP,不是账号。也就是说,当需要连续抓取大量数据时,模拟登录是没有意义的。只要是同一个IP,再怎么换账号都没用。关键是IP地址。
web服务器对付爬虫的策略之一就是直接阻止IP或整个IP段访问。当该IP被屏蔽时,可以切换到其他IP继续访问。这时候就需要代理IP了。
获取IP地址的方式有很多,最常见的方式是从代理IP网站获取大量的优质IP。如神龙HTTP,采用99.99% SLA的IDC五星运维标准,采用AES技术加密在线数据,自营服务器遍布全国,是一个不错的选择。
技巧3:修改用户Kramp-Karrenbauer代理
Kramp-Karrenbauer代理是指包含浏览器信息、操作系统信息等的字符串。它也被称为特殊网络协议。服务器判断当前访问对象是浏览器、邮件客户端还是网络爬虫。
具体方法是将用户Kramp-Karrenbauer代理的值改为浏览器模式,甚至可以设置一个用户Kramp-Karrenbauer代理池来存储多个浏览器,每次抓取时随机选择一个来设置request的用户Kramp-Karrenbauer代理,这样用户Kramp-Karrenbauer代理就会一直变化,防止被阻塞。