在进行采集数据之前,需要先了解反网络爬虫,何为反网络爬虫?
你想获取别人的数据,但别人也不想把这些数据给你,为了保护这些信息,网站都会设置反爬虫机制,通过各种的限制,让爬虫获取不了信息。
大数据时代,大家都获得大量数据,挖机有价值的信息,即使有反爬虫机制,也要迎难而上,就看谁的技术高了。那么爬虫通常会遇到哪些限制?如何突破这些限制?
1.Cookie限制
一般在用户登录或者某些操作后,服务端会在返回包中包含Cookie信息要求浏览器设置Cookie,没有Cookie会很容易被辨别出来是伪造请求;
也有本地通过JS,根据服务端返回的某个信息进行处理生成的加密信息,设置在Cookie里面。
2.BasicAuth限制
一般会有用户授权的限制,会在headers的Autheration字段里要求加入。
3.IP限制
网站的防火墙会对某个固定ip在某段时间内请求的次数做限制,如果没有超过上线则正常返回数据,超过了,则拒绝请求,如qq邮箱。
主要的应对方案是使用代理,这样一来ip的数量就会多一些,但是建议选用安全高效的代理IP,保证数据安全。比如ip代理池,全国一百多城市的IP选路,一天几十万的IP资源,有助于爬虫突破限制。
4.Gzip限制
请求headers里面带了gzip,返回有时候会是gzip压缩,需要解压。
5.User-Agent限制
会要求真是的设备,如果不加会用编程语言包里自有User-Agent,可以被辨别出来。
6.Referer限制
通常是在访问链接时,必须要带上Referer字段,服务器会进行验证,例如抓取京东的评论。
上文介绍了“爬虫通常会遇到哪些限制”,了解这些限制,有助于突破限制,更有效率的获取数据。有时候某些限制并不一定是针对爬虫的,而是为了网站的安全,预防DOS攻击的措施。