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