反爬虫思路摘抄
現在越來越多的工作需要用到爬蟲程序,但是同時也有很多人會通過爬蟲程序惡意競爭,因此為了能夠保護自己的正當權益,各種反爬蟲程序被研發利用起來,所以很多時候,在進行爬蟲工作的時候首要面對的就是爬蟲和反爬蟲的拉鋸戰,這里就說一下常見的防爬蟲策略和應對方法。
1、從用戶請求的Headers反爬蟲,這一種可以說是比較常見的反爬蟲策略。現在很多網站都會對Headers的User-Agent進行檢測,還有一部分網站會對Referer進行檢測(一些資源網站的防盜鏈就是檢測Referer)。如果遇到了這類反爬蟲程序,可以直接在爬蟲中添加Headers,將瀏覽器的User-Agent復制到爬蟲的Headers中;或者將Referer值修改為目標網站域名。對于檢測Headers的反爬蟲,在爬蟲中修改或者添加Headers就能很好的繞過。
2、通過檢測一段時間之內用戶的訪問次數,例如同一IP短時間內多次訪問同一頁面,或者同一賬戶短時間內多次進行相同操作。在這種情況下,為了防止受到惡意攻擊,大多數網站就會禁止你的訪問,如果遇到這種防爬機制,使用HTTP代理ip就可以解決。當然,可以專門寫一個爬蟲程序,采集網上的公開代理ip資源,然后自己存起來,畢竟這種情況很可能會在爬蟲工作中經常遇到;但是網上公開的代理ip質量不能保證,所以這個時候可以買一些高質量的代理ip,比如說芝麻HTTP代理就可以提供高質量的代理ip。有了大量代理ip后可以每請求幾次更換一個ip,這在requests或者urllib2中很容易做到,這樣就能很容易的繞過反爬蟲。也可以在每次請求后隨機間隔幾秒再進行下一次請求。有些有邏輯漏洞的網站,可以通過請求幾次,退出登錄,重新登錄,繼續請求來繞過同一賬號短時間內不能多次進行相同請求的限制。
總結
- 上一篇: 打基础的时候是不能够分工的
- 下一篇: 图片背景消除网站