python爬蟲常見反爬措施_爬蟲常見的反爬措施有哪些

爬蟲常見的反爬措施有三種:

1、header頭部信息

解決方法:

加User-Agent值:

如果不加header頭,部分網站服務器判斷不到用戶的訪問來源,所以會返回一個404錯誤來告知你是一個爬蟲,拒絕訪問,解決辦法如下:headers?=?{

'User-agent':?'Mozilla/5.0?(Windows?NT?10.0;?Win64;?x64)?AppleWebKit/537.36?(KHTML,?like?Gecko)?Chrome/83.0.4103.56?Safari/537.36'

}

這樣服務器就會把用戶當做瀏覽器了。

加Referer值

這類反爬網站也很常見,例如美團,僅僅加User-Agnet還是返回錯誤信息,這時就要把Referer值也加到頭部信息中:

這樣就會返回正常網頁了。

加Host值

根據同源地址判斷用戶是否為爬蟲,解決辦法為:

加Accept值

之前遇到過這種網站,我加了一圈header頭部信息才成功,最后發現是需要加Accept值,這類反爬措施的解決辦法為:

2、限制IP的請求數量

這種就更常見了,大部分網站都有此類反爬措施,也就是說網站服務器會根據某個ip在特定時間內的訪問頻率來判斷是否為爬蟲,然后把你把你拉進“黑名單”,素質好的給你返回403或者出來個驗證碼,素質不好的會給你返回兩句臟話。此種情況有兩種解決辦法:

①降低爬蟲請求速率,但是會降低效率;

②添加代理ip,代理ip又分為付費的和不要錢的,前者比較穩定,后者經常斷線。

添加格式為:

3、Ajax動態請求加載

這類一般是動態網頁,無法直接找到數據接口,以某易新聞網站為例:

我想爬取該網頁內的新聞圖片,發現它的網頁url一直不變,但是下拉網頁的時候會一直加載圖片,那么我們該怎么辦呢?

首先按照開頭方式打開流量分析工具

點擊左上角“垃圾桶”圖標清空緩存,然后下拉新聞網頁:

會出現一大堆東西,但是不用慌,我們可以根據類型去尋找,一般圖片信息肯定實在html、js或json格式的文件中,一個一個點進去看看,很快就找到了結果:

結果中把callback去掉之后就是個json文件,它的url為:

更多Python知識,請關注:Python自學網!!

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/454075.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/454075.shtml
英文地址,請注明出處:http://en.pswp.cn/news/454075.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

dom4j的讀寫xml文件,讀寫xml字符串

百度了一些博客,大同小異,在選取jar包工具的時候大概看了下,大抵是jdom原始,dom4j優秀。于是做了些練習。 參考:http://www.cnblogs.com/mengdd/archive/2013/06/05/3119927.html 1 package com.test.xml;2 3 import j…

深度學習之數據增強方案和TensorFlow操作

一、數據增強的方法介紹 增加訓練數據, 則能夠提升算法的準確率, 因為這樣可以避免過擬合, 而避免了過擬合你就可以增大你的網絡結構了。 當訓練數據有限的時候, 可以通過一些變換來從已有的訓練數據集中生成一些新的數據&#x…

移動前端頭部標簽(HTML5 head meta)

<!DOCTYPE html> <!-- 使用 HTML5 doctype&#xff0c;不區分大小寫 --> <html lang"zh-cmn-Hans"> <!-- 更加標準的 lang 屬性寫法 http://zhi.hu/XyIa --> <head><!-- 聲明文檔使用的字符編碼 --><meta charsetutf-8>&l…

python新建文件夾口令_python編程快速上手—口令保管箱

之前小編為大家整理了如何成為一個優秀的程序員應該具備的品質&#xff0c;接下來為大家展示一個簡單有趣的python小項目&#xff0c;從中體會編程的樂趣。小編了解這個小項目之后&#xff0c;很是驚奇&#xff0c;覺得python竟然還可以做這樣的事情。為什么要建立口令保管箱&a…

django+nginx+uwsgi部署web站點

環境&#xff1a; django&#xff1a;1.8.16 python&#xff1a;2.7.13 pip&#xff1a;2.7 uwsgi&#xff1a;2.0.15 project路徑&#xff1a; /opt/cmdb/ Uwsgi的安裝配置 1、安裝python2.7 &#xff08;省略安裝過程&#xff09; 2、安裝pip2.7 &#xff08;省略安裝過程&…

GCC源代碼閱讀

獲取GCC源代碼 閱讀源代碼的第一步是獲取源代碼&#xff0c;巧婦難為無米之炊嘛&#xff01; 使用以下任意方法均可獲得gcc源代碼&#xff1a; svn checkout svn://gcc.gnu.org/svn/gcc/trunk SomeLocalDir &#xff08;摘自http://gcc.gnu.org/svn.html&#xff09;git clone …

Nginx 動靜分離

頁面動靜分離 后端 調用tomcat 集群 示例&#xff1a; server { listen 80; server_name www.www2.com ; root /web/www2/htmlloation /img/ {alias /web/www2/html/img/;}location ~ (\.jsp)|(\.do)$ {proxy_pass http:## //serverip:port;proxy_redirect off;// 重定向 指…

Linux 狀態命令之內存狀態 vmstat

語法 vmstat 常見命令格式如下&#xff1a; vmstat [-a] [-n] [-S unit] [delay [ count]] vmstat [-s] [-n] [-S unit] vmstat [-m] [-n] [delay [ count]] vmstat [-d] [-n] [delay [ count]] vmstat [-p disk partition] [-n] [delay [ count]] vmstat [-f] vmstat [-V]命…

使用OpenSSL實現CA證書的搭建過程

個人博客地址&#xff1a;http://www.pojun.tech/ 歡迎訪問 什么是CA CA,Catificate Authority,通俗的理解就是一種認證機制。它的作用就是提供證書&#xff08;也就是服務端證書&#xff0c;由域名&#xff0c;公司信息&#xff0c;序列號&#xff0c;簽名信息等等組成&#…

最近公共祖先 python_求二叉搜索樹的最近公共祖先

給定一個二叉搜索樹, 找到該樹中兩個指定節點的最近公共祖先。百度百科中最近公共祖先的定義為&#xff1a;“對于有根樹 T 的兩個結點 p、q&#xff0c;最近公共祖先表示為一個結點 x&#xff0c;滿足 x 是 p、q 的祖先且 x 的深度盡可能大(一個節點也可以是它自己的祖先)。”…

gdb使用實例

第一篇 概論我們將學習使用gdb來調試通過一個通過串行線同PC相連的嵌入式系統。Gdb可以調試各種程序&#xff0c;包括C、C、JAVA、PASCAL、FORAN和一些其它的語言。包括GNU所支持的所有微處理器的匯編語言。在gdb的所有可圈可點的特性中&#xff0c;有一點值得注意&#xff0c;…

Linux 監控命令之 netstat

netstat命令用于顯示與IP、TCP、UDP和ICMP協議相關的統計數據&#xff0c;一般用于檢驗本機各端口的網絡連接情況。netstat是在內核中訪問網絡及相關信息的程序&#xff0c;它能提供TCP連接&#xff0c;TCP和UDP監聽&#xff0c;進程內存管理的相關報告。 語法 netstat [-acC…

C#遞歸搜索指定目錄下的文件或目錄

來源&#xff1a;https://www.cnblogs.com/huhangfei/p/5012978.html誠然可以使用現成的Directory類下的GetFiles、GetDirectories、GetFileSystemEntries這幾個方法實現同樣的功能&#xff0c;但請相信我不是蛋疼&#xff0c;原因是這幾個方法在遇上【System Volume Informati…

solr 配置

創建 SolrHome(solrCore) 1.解壓 solr-4.10.4.tgz 到 /usr/local/solr 2.將 solr-4.10.4/example/solr 下所有文件拷貝到 /usr/local/solrhome (此 solrhome 為自己創建的) solrhome 是 solr 運行主目錄&#xff0c;可包含多個 SolrCore 目錄SolrCore 目錄中包含運行 Solr 實例…

mfc程序轉化為qt_10年程序員:我都學過這些語言,2019年開始我再也不是程序員......

為什么學編程2008年&#xff0c;高中畢業的我問一個已經工作兩年的親戚&#xff1a;什么專業工資高&#xff1f;他告訴我&#xff1a;程序員。2008年成都最低工資好像是800元&#xff0c;我的生活費也是800元&#xff0c;據他所說程序員出來的工資是2000&#xff0c;于是開始了…

day 7 引用

1.ba在c語言和python中的區別 c語言&#xff1a;a100 a變量里面放的100 b a b變量里面也放的100 python &#xff1a; a100 內存中有個100 a放的100的內存地址 b a b也放的100的內存地址 相當于給100那一塊內存&#xff0c;貼個便利簽 2.type查看數據類型&…

Dapper逆天入門~強類型,動態類型,多映射,多返回值,增刪改查+存儲過程+事物案例演示...

Dapper的牛逼就不扯蛋了&#xff0c;答應群友做個入門Demo的&#xff0c;現有園友需要&#xff0c;那么公開分享一下&#xff1a; 完整Demo&#xff1a;http://pan.baidu.com/s/1i3TcEzj 注 意 事 項&#xff1a;http://www.cnblogs.com/dunitian/p/5221058.html 平臺之大勢何人…

Linux 狀態命令之磁盤狀態 iostat

Linux系統中的iostat是I/O statistics&#xff08;輸入/輸出統計&#xff09;的縮寫&#xff0c;iostat工具將對系統的磁盤操作活動進行監視。它的特點是匯報磁盤活動統計情況&#xff0c;同時也會匯報出CPU使用情況。同vmstat一樣&#xff0c;iostat也有一個弱點&#xff0c;就…

GDB十分鐘教程

GDB十分鐘教程 作者: liigo 原文鏈接: http://blog.csdn.net/liigo/archive/2006/01/17/582231.aspx 日期: 2006年1月16日 本文寫給主要工作在Windows操作系統下而又需要開發一些跨平臺軟件的程序員朋友&#xff0c;以及程序愛好者。 GDB是一個由GNU開源組織發布的、UNIX/LI…

課后作業-閱讀任務-閱讀提問-3

1.如果兩個人合作的始終達不到規范階段該怎如何處理&#xff1f; 2. 邏輯和界面設計要注意哪些因素&#xff1f;轉載于:https://www.cnblogs.com/fhycm/p/7866548.html