Python微博抓取有哪些技巧?
微博作为一个活跃的社交网路平台,拥有大量的用户,每天有成千上万条实时信息。将这些的信息采集下来,对我们分析某项微博活动、某个微博事件极有助益。下面分享一些抓取微博数据防止被禁的几个技巧,希望对大家能有所帮助。
技巧一:设置cookies
cookie其实是储存在用户终端的一些被加密的数据,有些网站通过cookies来识别用户身份,如果某个访问总是高频率地发请求,很可能会被网站注意到,被怀疑为爬虫,这时网站就可以通过cookie找到这个访问的用户而拒绝其访问。
有两种方法可以解决这个问题,一是自定义设置cookie策略,防止cookie rejected问题,二是禁止cookies。
技巧二:修改IP
其实微博识别的是IP ,不是账号。也就是说,当需要连续抓取很多数据的时候,模拟登录没有意义。只要是同一个IP ,不管怎么换账号也没有用,关键在于IP地址。
web server应对爬虫的策略之一就是直接将IP 或者整个IP段都封掉禁止访问,当IP被禁封后,转换到其他IP继续访问即可,这时就需要用到代理IP 。
IP 地址的获取方式有很多,最常见的是从代理IP网站获取大量优质IP。像神龙HTTP代理这类拥有专业的技术运维团队,运营商授权资源,低延迟高可用率的,是个不错的选择。
技巧三:修改User-Agent
User-Agent是指包含浏览器信息、操作系统信息等的一个字符串,也称之为一种特殊的网络协议。服务器通过它判断当前访问对象是浏览器、邮件客户端还是网络数据采集程序。
具体方法是把User-Agent的值改为浏览器的方式,甚至可以设置一个User-Agent池(list,数组,字典都可以),存放多个“浏览器”,每次抓取的时候随机取一个来设置request的User-Agent,这样User-Agent会一直在变化,防止被屏蔽。