我们在使用爬虫爬取数据时,经常会出现一些问题,比如403 Forbidden,打开网页一看,可能会看到“您的IP访问频率太高”这样的提示。这是因为网站采取了一些反爬虫措施。那么我们应该如何应对网站反爬虫措施呢?
1)使用代理
在众多的网站防爬措施中,有一种是根据ip的访问频率进行限制的,在某段时间内,当某个ip的访问量达到一定的阀值时,该ip会被拉黑、在一段时间内被禁止访问。这种时候可以通过降低爬虫的频率,或者更改ip来应对。后者就需要有一个可用的代理ip池,以供爬虫工作时切换。
可以换着用多个代理IP来进行访问,防止同一个IP发起过多请求而被封IP
2)伪造cookies
若从浏览器中可以正常访问一个页面,则可以将浏览器中的cookies复制过来使用
注:用浏览器cookies发起请求后,如果请求频率过于频繁仍会被封IP,这时可以在浏览器上进行相应的手工验证(比如点击验证图片等),然后就可以继续正常使用该cookies发起请求。
3)伪造User-Agent
在请求头中把User-Agent设置成浏览器中的User-Agent,来伪造浏览器访问。
在每次重复爬取之间设置一个随机时间间隔。