關閉

                  合法爬蟲?用Python給你整明白!

                  發表于:2021-10-13 09:11

                  字體: | 上一篇 | 下一篇 | 我要投稿

                   作者:hxd_    來源:思否

                  #
                  Python
                    沒有絕對的反爬蟲措施,只能提高爬蟲爬取的成本。

                    爬蟲措施:
                    ·不設防的網站,直接爬取,不做任何偽裝
                    ·基礎防備的網站,爬取過程中增加 time.sleep(n) 進行休眠一下,降級爬取頻次,防止被限制。再可以每次爬取切換 header 頭信息,偽裝成多個終端發起的請求
                    ·需要登錄的情況下,需要多個用戶賬戶,爬取過程中切換 cookie 信息,模擬不同用戶在請求。
                    ·使用 IP 代理池,切換 IP,越過高級限制。
                    ·python 爬蟲相關的有幾個實現越過限制的包:fake_useragent proxy_list 等,偽裝的越像真實用戶越爬取成功率高。

                    反爬蟲措施:
                    ·Nginx 層面進行頻次限制,可以參考 Nginx http 資源請求限制,至于限制的 key 為瀏覽器頭/IP/登錄用戶,可以根據需求進行設置。
                    ·代碼層面限制需要登錄訪問,一天僅可以訪問一定數量的頁面,未登錄狀態僅可以查看可數的幾個頁面,例如房源信息網站,一天查看 60+ 的房源詳情頁面已經很多了,更多可以就有惡意了。這樣的限制對于爬蟲方來說,需要籌備很多賬號進行爬取。當然在徹底的限制之外,可以限制訪問超過數量彈出驗證碼,驗證之后才可以繼續訪問,這樣至少不會讓少部分真實用戶無法訪問。
                    ·提前獲取 IP 代理池的 IP 列表,直接防火墻層面的拉黑,能高端避免一些問題,免費 IP 代理池記得有網站,需要拉黑在自己獲取。
                    ·將常見的爬蟲頭信息全部 Nginx 或者代碼層面拉黑,據說一些大網站把 python 的幾個常見爬蟲頭信息全部拉黑了,提升基礎爬蟲的代碼成本。
                    高端反爬蟲是每隔幾小時切換頁面代碼或者接口數據結構,記得淘寶是這樣做的,對于爬蟲方來說,可能剛剛寫好爬這種類型的代碼,然后整體頁面代碼和數據結構用了新一套,很高階的反制措施了。
                    ·數據擾亂:每一頁有一些加解密規則,或者每頁有不同的擾亂數據,你抓取到的極有可能是包含一些假數據,或者加密數據,也算是增加了爬蟲成本。例如網頁中也可以增加一些關鍵性的樣式或者名稱一致的隱藏域,偶數頁不出現這些隱藏域,讓爬蟲不好找的關鍵元素。
                    以上是自己想到的一些措施,謹記現在亂爬是違法的,別爬取一時爽,三年起步了。

                    本文內容不用于商業目的,如涉及知識產權問題,請權利人聯系51Testing小編(021-64471599-8017),我們將立即處理
                  《2023軟件測試行業現狀調查報告》獨家發布~

                  關注51Testing

                  聯系我們

                  快捷面板 站點地圖 聯系我們 廣告服務 關于我們 站長統計 發展歷程

                  法律顧問:上海蘭迪律師事務所 項棋律師
                  版權所有 上海博為峰軟件技術股份有限公司 Copyright©51testing.com 2003-2024
                  投訴及意見反饋:webmaster@51testing.com; 業務聯系:service@51testing.com 021-64471599-8017

                  滬ICP備05003035號

                  滬公網安備 31010102002173號

                  亚洲欧洲自拍图片专区123_久久久精品人妻无码专区不卡_青青精品视频国产色天使_A免看的日黄亚洲