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