貓哥教你寫爬蟲 048--爬蟲和反爬蟲

咱們來講反爬蟲。幾乎全部的技術人員對反爬蟲都有一個共識:所謂的反爬蟲,從不是將爬蟲徹底杜絕;而是想辦法將爬蟲的訪問量限制在一個可接納的範圍,不要讓它過於肆無忌憚

緣由很簡單:爬蟲代碼寫到最後,已經和真人訪問網絡毫無區別。服務器的那一端徹底沒法判斷是人仍是爬蟲。若是想要徹底禁止爬蟲,正經常使用戶也會沒法訪問。因此只能想辦法進行限制,而非禁止。

因此,咱們能夠了解有哪些「反爬蟲」技巧,再思考如何應對「反爬蟲」。

有的網站會限制請求頭,即Request Headers,那咱們就去填寫user-agent聲明本身的身份,有時還要去填寫originreferer聲明請求的來源。

**有的網站會限制登陸,不登陸就不給你訪問。**那咱們就用cookiessession的知識去模擬登陸。

有的網站會作一些複雜的交互,好比設置「驗證碼」來阻攔登陸。這就比較難作,解決方案通常有二:咱們用Selenium去手動輸入驗證碼;咱們用一些圖像處理的庫自動識別驗證碼(tesserocr/pytesserart/pillow)。

有的網站會作IP限制,什麼意思呢?咱們平時上網,都會有攜帶一個IP地址。IP地址就好像電話號碼(地址碼):有了某人的電話號碼,你就能與他通話了。一樣,有了某個設備的IP地址,你就能與這個設備通訊。

使用搜索引擎搜索「IP」,你也能看到本身的IP地址。

若是這個IP地址,爬取網站頻次過高,那麼服務器就會暫時封掉來自這個IP地址的請求。

解決方案有二:使用time.sleep()來對爬蟲的速度進行限制;創建IP代理池(你能夠在網絡上搜索可用的IP代理),一個IP不能用了就換一個用。

以上,就是市面上最多見的反爬蟲策略,以及對應的應對策略。你會發現沒什麼能真正阻攔你。這正印證了那句話:所謂的反爬蟲,從不是將爬蟲徹底杜絕;而是想辦法將爬蟲的訪問量限制在一個可接納的範圍,不要讓它過於肆無忌憚。

快速跳轉:

貓哥教你寫爬蟲 000--開篇.md
貓哥教你寫爬蟲 001--print()函數和變量.md
貓哥教你寫爬蟲 002--做業-打印皮卡丘.md
貓哥教你寫爬蟲 003--數據類型轉換.md
貓哥教你寫爬蟲 004--數據類型轉換-小練習.md
貓哥教你寫爬蟲 005--數據類型轉換-小做業.md
貓哥教你寫爬蟲 006--條件判斷和條件嵌套.md
貓哥教你寫爬蟲 007--條件判斷和條件嵌套-小做業.md
貓哥教你寫爬蟲 008--input()函數.md
貓哥教你寫爬蟲 009--input()函數-人工智能小愛同窗.md
貓哥教你寫爬蟲 010--列表,字典,循環.md
貓哥教你寫爬蟲 011--列表,字典,循環-小做業.md
貓哥教你寫爬蟲 012--布爾值和四種語句.md
貓哥教你寫爬蟲 013--布爾值和四種語句-小做業.md
貓哥教你寫爬蟲 014--pk小遊戲.md
貓哥教你寫爬蟲 015--pk小遊戲(全新改版).md
貓哥教你寫爬蟲 016--函數.md
貓哥教你寫爬蟲 017--函數-小做業.md
貓哥教你寫爬蟲 018--debug.md
貓哥教你寫爬蟲 019--debug-做業.md
貓哥教你寫爬蟲 020--類與對象(上).md
貓哥教你寫爬蟲 021--類與對象(上)-做業.md
貓哥教你寫爬蟲 022--類與對象(下).md
貓哥教你寫爬蟲 023--類與對象(下)-做業.md
貓哥教你寫爬蟲 024--編碼&&解碼.md
貓哥教你寫爬蟲 025--編碼&&解碼-小做業.md
貓哥教你寫爬蟲 026--模塊.md
貓哥教你寫爬蟲 027--模塊介紹.md
貓哥教你寫爬蟲 028--模塊介紹-小做業-廣告牌.md
貓哥教你寫爬蟲 029--爬蟲初探-requests.md
貓哥教你寫爬蟲 030--爬蟲初探-requests-做業.md
貓哥教你寫爬蟲 031--爬蟲基礎-html.md
貓哥教你寫爬蟲 032--爬蟲初體驗-BeautifulSoup.md
貓哥教你寫爬蟲 033--爬蟲初體驗-BeautifulSoup-做業.md
貓哥教你寫爬蟲 034--爬蟲-BeautifulSoup實踐.md
貓哥教你寫爬蟲 035--爬蟲-BeautifulSoup實踐-做業-電影top250.md
貓哥教你寫爬蟲 036--爬蟲-BeautifulSoup實踐-做業-電影top250-做業解析.md
貓哥教你寫爬蟲 037--爬蟲-寶寶要聽歌.md
貓哥教你寫爬蟲 038--帶參數請求.md
貓哥教你寫爬蟲 039--存儲數據.md
貓哥教你寫爬蟲 040--存儲數據-做業.md
貓哥教你寫爬蟲 041--模擬登陸-cookie.md
貓哥教你寫爬蟲 042--session的用法.md
貓哥教你寫爬蟲 043--模擬瀏覽器.md
貓哥教你寫爬蟲 044--模擬瀏覽器-做業.md
貓哥教你寫爬蟲 045--協程.md
貓哥教你寫爬蟲 046--協程-實踐-吃什麼不會胖.md
貓哥教你寫爬蟲 047--scrapy框架.md
貓哥教你寫爬蟲 048--爬蟲和反爬蟲.md
貓哥教你寫爬蟲 049--完結撒花.mdhtml

相關文章
相關標籤/搜索