91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

python常見的反爬措施分享

發布時間:2021-09-10 11:40:06 來源:億速云 閱讀:183 作者:chen 欄目:編程語言

本篇內容介紹了“python常見的反爬措施分享”的有關知識,在實際案例的操作過程中,不少人都會遇到這樣的困境,接下來就讓小編帶領大家學習一下如何處理這些情況吧!希望大家仔細閱讀,能夠學有所成!


  一、反爬技術Headers:


  從用戶的Headers進行反爬是最常見的反爬蟲策略。Headers(上一講中已經提及)是一種區分瀏覽器行為和機器行為中最簡單的方法,還有一些網站會對Referer(上級鏈接)進行檢測(機器行為不太可能通過鏈接跳轉實現)從而實現爬蟲。


  相應的解決措施:通過審查元素或者開發者工具獲取相應的Headers然后把相應的Headers傳輸給python的requests,這樣就能很好地繞過。


  二、反爬技術IP限制


  一些網站會根據你的IP地址訪問的頻率,次數進行反爬。也就是說如果你用單一的IP地址訪問頻率過高,那么服務器會在短時間內禁止這個IP訪問。


  解決措施:構造自己的IP代理池,然后每次訪問時隨機選擇代理(但一些IP地址不是非常穩定,需要經常檢查更新)。


  三、反爬技術UA限制


  UA是用戶訪問網站時候的瀏覽器標識,其反爬機制與ip限制類似。


  解決措施:構造自己的UA池,每次python做requests訪問時隨機掛上UA標識,更好地模擬瀏覽器行為。當然如果反爬對時間還有限制的話,可以在requests設置timeout最好是隨機休眠,這樣會更安全穩定,time.sleep()。


  四、反爬技術驗證碼反爬蟲或者模擬登陸


  驗證碼:這個辦法也是相當古老并且相當的有效果,如果一個爬蟲要解釋一個驗證碼中的內容,這在以前通過簡單的圖像識別是可以完成的,但是就現在來講,驗證碼的干擾線,噪點都很多,甚至還出現了人類都難以認識的驗證碼(~~~~~~~)。


  相應的解決措施:驗證碼識別的基本方法:截圖,二值化、中值濾波去噪、分割、緊縮重排(讓高矮統一)、字庫特征匹配識別。(python的PIL庫或者其他)模擬登陸(例如知乎等):用好pythonrequests中的session(下面幾行代碼實現了最簡單的163郵箱的登陸,其實原理是類似的~~)。


  import requests
  s =requests.session()
  login_data={"account":" ","password":" "}
  res=s.post("http://mail.163.com/",login_data)


  五、反爬技術Ajax動態加載


  網頁的不希望被爬蟲拿到的數據使用Ajax動態加載,這樣就為爬蟲造成了絕大的麻煩,如果一個爬蟲不具備js引擎,或者具備js引擎,但是沒有處理js返回的方案,或者是具備了js引擎,但是沒辦法讓站點顯示啟用腳本設置。基于這些情況,ajax動態加載反制爬蟲還是相當有效的。


  Ajax動態加載的工作原理是:從網頁的url加載網頁的源代碼之后,會在瀏覽器里執行JavaScript程序。這些程序會加載出更多的內容,并把這些內容傳輸到網頁中。這就是為什么有些網頁直接爬它的URL時卻沒有數據的原因。


  處理方法:若使用審查元素分析”請求“對應的鏈接(方法:右鍵→審查元素→Network→清空,點擊”加載更多“,出現對應的GET鏈接尋找Type為text/html的,點擊,查看get參數或者復制RequestURL),循環過程。如果“請求”之前有頁面,依據上一步的網址進行分析推導第1頁。以此類推,抓取抓Ajax地址的數據。對返回的json使用requests中的json進行解析,使用eval()轉成字典處理(上一講中的fiddler可以格式化輸出json數據。


  六、反爬技術cookie限制


  一次打開網頁會生成一個隨機cookie,如果再次打開網頁這個cookie不存在,那么再次設置,第三次打開仍然不存在,這就非常有可能是爬蟲在工作了。


  解決措施:在Headers掛上相應的cookie或者根據其方法進行構造(例如從中選取幾個字母進行構造)。如果過于復雜,可以考慮使用selenium模塊(可以完全模擬瀏覽器行為)。

“python常見的反爬措施分享”的內容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業相關的知識可以關注億速云網站,小編將為大家輸出更多高質量的實用文章!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

扶风县| 中方县| 长兴县| 华宁县| 应用必备| 长海县| 石河子市| 仪陇县| 北票市| 思茅市| 平和县| 文成县| 姚安县| 法库县| 寿宁县| 从化市| 水城县| 军事| 和龙市| 关岭| 凉城县| 望都县| 吉林市| 阜平县| 武清区| 沽源县| 白水县| 韶关市| 宜春市| 息烽县| 大悟县| 曲沃县| 桃园县| 漯河市| 泰宁县| 阿克陶县| 南江县| 台安县| 揭东县| 高清| 扎兰屯市|