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