精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

這些常見的反爬蟲手段,你能攻破多少?

開發 后端
這里給大家總結出了我們在爬取數據時常見的反爬蟲手段。一起來看看吧。

在抓取對方網站、APP 應用的相關數據時,經常會遇到一系列的方法阻止爬蟲。

網站APP們這么做的原因,一是為了保證服務的質量,降低服務器負載,二是為了保護數據不被獲取。爬蟲與反爬蟲的斗爭經久不衰,

這里給大家總結出了我們在爬取數據時常見的反爬蟲手段。

1. User-Agent

網絡請求中,User-Agent 是表明身份的一種方式,網站可以通過User-Agent來判斷用戶是使用什么瀏覽器訪問。不同瀏覽器的User-Agent是不一樣的

例如,我們在windows上面的Chrome瀏覽器,它的User-Agent是:

但是如果我們使用Python的Requests直接訪問網站,除了網址不提供其他的信息,那么網站收到的User-Agent是空。

這個時候網站就知道我們不是使用瀏覽器訪問的,于是它就可以拒絕我們的訪問。

from fake_useragent import UserAgent
for i in range(1,11):
ua = UserAgent().random
print(f'第{i}次的ua是', ua)
'''
第1次的ua是 Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/29.0.1547.62 Safari/537.36
第2次的ua是 Mozilla/5.0 (Windows NT 6.1; rv:21.0) Gecko/20130401 Firefox/21.0
第3次的ua是 Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10_6_6; es-es) AppleWebKit/533.20.25 (KHTML, like Gecko) Version/5.0.4 Safari/533.20.27
第4次的ua是 Mozilla/5.0 (X11; CrOS i686 4319.74.0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/29.0.1547.57 Safari/537.36
第5次的ua是 Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10_6_6; fr-ch) AppleWebKit/533.19.4 (KHTML, like Gecko) Version/5.0.3 Safari/533.19.4
第6次的ua是 Mozilla/5.0 (X11; OpenBSD i386) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/36.0.1985.125 Safari/537.36
第7次的ua是 Mozilla/5.0 (X11; NetBSD) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/27.0.1453.116 Safari/537.36
第8次的ua是 Mozilla/5.0 (X11; Linux i586; rv:31.0) Gecko/20100101 Firefox/31.0
第9次的ua是 Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.1; WOW64; Trident/4.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; Media Center PC 6.0; Zune 3.0)
第10次的ua是 Mozilla/5.0 (Windows NT 5.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/31.0.1650.16 Safari/537.36
'''

2. Referer

HTTP Referer是header的一部分,當瀏覽器向web服務器發送請求的時候,一般會帶上Referer,表明這個網頁是從哪里跳過來的,是網頁防盜鏈的一種方式

有時也被用于反爬蟲。如果網站會檢查 Referer,請保證你的 Referer 始終是正確的(跳轉到此網頁之前的網頁 URL)。

3. Ajax

這個應該不算反爬?當網站使用 ajax 異步獲取數據時,我們是無法直接從網頁源代碼中獲取想要的數據的,這個時候要借助 Network 工具欄,分析 API 請求,然后使用 Python 模擬調用 API,直接從 API 中獲取數據。(多數都是 POST 類型的請求,也有小部分 GET 的)

當然,也可以使用 Selenium 等自動化測試工具直接渲染網頁,再從渲染后的網頁源碼中解析數據。

4. Cookie

在網站中,http的請求通常是無狀態的(第一個和服務器連接并且登錄之后,此時服務器知道是哪個用戶,但是當第二次請求服務器時,服務器依然不知道當前請求的是哪個用戶),cookie就是為了解決這個問題。

第一次登錄服務器后,服務器會返回與剛剛用戶相關的數據(也就是cookie)給瀏覽器,瀏覽器將cookie保存在本地,當這個用戶第二次請求服務器時,就會把上次存儲的cookie自動攜帶給服務器,服務器通過這個cookie就知道當前是哪個用戶。

在一些爬蟲中,我們在進入一個頁面之前需要先登錄,比如人人網,我們想要在人人網中瀏覽主頁,就要先注冊登錄,然后才能瀏覽,那么在爬蟲時,保持登錄狀態就需要在請求頭中加入cookie。

cookies是指網站為了辨別用戶身份,進行會話跟蹤而儲存在本地終端的數據,cookies一般再電腦中的文件里以文本形式儲存。cookies其實是有鍵值對組成的,如下圖所示:

5. 驗證碼  

驗證碼又分很多種,我們說一下比較常見的三種:字母驗證碼、拼圖驗證碼、點選式驗證碼。

字母驗證碼,就是給你一張有若干字母或數字的圖片,讓你識別出其中內容,并在文本框中輸入。比如這個:

這是最簡單的驗證碼,一般編寫深度學習模型訓練,或直接使用打碼平臺即可解決。

拼圖驗證碼,給定了一張圖片和一個滑動組件。當你拖動滑動組件時,圖片會出現缺口,拖動滑動組件,補全缺口即可過關。比類似于這種:

比較常見的做法是,通過圖片之間的對比,計算拼圖缺口的位置,然后使用特定的軌跡拖動滑塊,完成驗證。

你有兩種方法提交驗證,一是使用 Selenium 調用瀏覽器,二是直接破解 JS,使用 POST 模擬提交。

點選式的驗證碼,會給出一張小圖片(有的是圖片,有的不是,不同驗證碼平臺不一樣),上面順序顯示著幾個漢字。再給出一張大圖片,上面也有這幾個漢字,但漢字的分布是隨機的。要求你按照小圖片中漢字出現的順序,點擊大圖片中的漢字。類似于這種:

最常見的方法是借助打碼平臺計算相對坐標,然后使用 Selenium 等自動化工具按順序點擊。當然,自己訓練模型也是可行的,但比較麻煩。

對于驗證碼,可以通過OCR來識別圖片,Github上面有很多大神分享的代碼可以用,可以去看看。

簡單的OCR識別驗證碼:

from PIL import Image
import tesserocr
#tesserocr識別圖片的2種方法
img = Image.open("code.jpg")
verify_code1 = tesserocr.image_to_text(img)
#print(verify_code1)
verify_code2 = tesserocr.file_to_text("code.jpg")

6. 代理 IP 池

如果你頻繁使用同一個 IP 訪問某個網站,可能會被網站認為是惡意攻擊,進而 ban 掉你的 IP。這個時候,使用代理 IP 池就是一個很好的方案。

在一些網站服務中,除了對 user-agent 的身份信息進行檢測。

也對客戶端的 ip 地址做了限制。

如果是同一個客戶端訪問此網站服務器的次數過多就會將其識別為爬蟲。

因而,限制其客戶端 ip 的訪問。這樣的限制給我們的爬蟲帶來了麻煩,所以使用代理 ip 在爬蟲中是非常有必要的。

這里我給大家提供一下兩個網站供參考。

66代理:http://www.66ip.cn/6.html
快代理:https://www.kuaidaili.com/free/

7. 請求間隔

兩次請求之間,最好設置一定間隔。理由如下:

   請求過于頻繁,遠超出人工頻率,容易被識別出來,請不要給對方服務器造成太大壓力

且間隔的時間不要定死,在一定范圍內波動是個比較合適的選擇。過于機械的間隔時長,也可能會讓網站認為你是爬蟲。

import time
import random
for i in range(1,11):
time = random.random()*5
print(f'第{i}次睡了:', time, 's')
'''
第1次睡了: 0.6327309035891232 s
第2次睡了: 0.037961811128097045 s
第3次睡了: 0.7443093721610153 s
第4次睡了: 0.564336149517787 s
第5次睡了: 0.39922345839757245 s
第6次睡了: 0.13724989845026703 s
第7次睡了: 0.7877693301824763 s
第8次睡了: 0.5641490602064826 s
第9次睡了: 0.05517343036931721 s
第10次睡了: 0.3992618299505627 s
'''

8. 字體反爬

還有一種特殊情況,你在瀏覽器頁面上已經看到了你想要的數據,但是當你查看源碼時,根本找不到相關數據或者數據和你看到的不一致。你懷疑這個數據是通過接口異步加載的,但你檢查了請求,過程中并沒有異步請求數據接口。怎么回事?

你可能遇到了字體反爬。即目標網站通過 CSS 樣式、字體映射等方式,完成了對特定數據的隱藏。你無法直接從源碼提取相關數據,但卻不會影響網頁的顯示效果。那么,怎么解決呢?

兩種方法,第一種,破解字體的映射關系,從源碼中提取錯誤的數據,并通過特定的映射關系把它翻譯成正確的數據。第二種就是偷懶的方法了,使用 Selenium 等自動化測試工具渲染頁面,截取數據內容圖片,并通過 OCR 程序識別圖像內容。

9. 正則表達式

對于頁面解析最強大的當然是正則表達式,這個對于不同網站不同的使用者都不一樣,就不用過多的說明,附兩個比較好的網址:

正則表達式入門:

http://www.cnblogs.com/huxi/archive/2010/07/04/1771073.html

正則表達式在線測試:

http://tool.oschina.net/regex/

其次就是解析庫了,常用的有兩個lxml和BeautifulSoup,對于這兩個的使用介紹兩個比較好的網站:

lxml:http://my.oschina.net/jhao104/blog/639448
BeautifulSoup:http://cuiqingcai.com/1319.html

對于這兩個庫,我的評價是,都是HTML/XML的處理庫,Beautifulsoup純python實現,效率低,但是功能實用,

比如能用通過結果搜索獲得某個HTML節點的源碼;lxml C語言編碼,高效,支持Xpath。

10. pprint

這個是在pycharm中查看的來看效果吧

print()打印,不知道你感覺如何,我一臉懵逼。

import requests
url = 'https://www.douyu.com/gapi/rknc/directory/yzRec/1'
resp = requests.get(url).json()
print(resp)

pprint()打印,這種結構看起來如何呢?

from pprint import pprint
import requests
url = 'https://www.douyu.com/gapi/rknc/directory/yzRec/1'
resp = requests.get(url).json()
pprint(resp)

現在除了使用pprint之外,冰淇淋icecream也是很好的選擇

責任編輯:龐桂玉 來源: Python技術
相關推薦

2020-11-18 07:52:08

2018-01-29 09:28:44

2011-05-10 10:56:29

DBA面試

2009-04-26 21:45:49

2018-09-02 10:43:02

網絡故障處理手段

2017-06-30 13:23:02

2023-11-22 07:42:01

2022-11-24 10:24:32

2022-01-26 00:19:17

反爬蟲爬蟲服務器

2014-04-09 09:12:08

2019-04-23 11:21:57

ERP系統管理信息化

2016-10-13 15:51:50

2022-09-14 23:06:45

2020-12-09 18:16:48

容器云開發CaaS

2019-06-18 07:55:30

WindowsWindows 10操作系統

2019-02-12 15:00:32

Javascript命令式編程前端

2016-11-21 08:26:36

2019-12-02 09:04:12

PythonGitHub機器學習

2020-02-17 15:49:11

Python開發
點贊
收藏

51CTO技術棧公眾號

日韩在线播放一区| 日韩精品社区| 亚洲一区在线观看免费| 成人综合网网址| 无套内谢大学处破女www小说| 蜜芽tv福利在线视频| 日韩激情视频在线观看| 久久精品人人爽| 久久久久亚洲av片无码v| 久久伦理网站| 成人影视免费观看| 男人天堂久久| 亚洲aⅴ怡春院| 少妇免费毛片久久久久久久久 | 少妇av片在线观看| 日本欧美在线| 亚洲v精品v日韩v欧美v专区| 一区二区三区四区五区视频| 天堂成人在线视频| 欧美bbbbb| 久久久久久亚洲精品不卡| 中文字幕免费视频| 成人自拍在线| 欧美男生操女生| 成年人视频网站免费观看| 巨大荫蒂视频欧美大片| 国产成人av一区二区三区在线| 日本精品久久久久影院| 曰本女人与公拘交酡| 教室别恋欧美无删减版| 91精品国产欧美一区二区 | 老司机精品视频网站| 欧美激情亚洲自拍| 永久免费观看片现看| 日韩伦理一区二区三区| 欧美白人最猛性xxxxx69交| 国产精品天天av精麻传媒| 美女av在线免费看| 曰韩精品一区二区| 中文字幕日韩一区二区三区| 国产经典自拍视频在线观看| 91视频国产资源| 国产精品入口免费| 精品久久在线观看| 国产乱对白刺激视频不卡| 国产在线日韩在线| 国产精品欧美综合| 丝袜亚洲另类欧美综合| 97成人超碰免| 精品在线播放视频| 99国产精品久久久久久久| 欧美精品久久久久久久| 亚洲av鲁丝一区二区三区| 91精品国产自产拍在线观看蜜| 日韩禁在线播放| 男插女视频网站| 精品国产乱码久久久久久樱花| 欧美日韩国产区一| 玩弄japan白嫩少妇hd| 欧美freesex| 欧美性xxxxxxx| 99色精品视频| 欧美日韩在线精品一区二区三区激情综合 | 福利精品在线| 欧美乱妇23p| 丝袜制服一区二区三区| 在线天堂资源| 91久久国产综合久久| 国内外免费激情视频| 成人开心激情| 欧美精品一级二级| 黑人性生活视频| 老司机精品在线| 亚洲日韩欧美视频| 中文字幕第69页| 一区二区蜜桃| 26uuu另类亚洲欧美日本老年| 91av在线免费视频| 久久精品盗摄| 国产美女精品视频| 亚洲第一视频在线| 久久免费偷拍视频| 在线视频亚洲自拍| caoprom在线| 狠狠久久五月精品中文字幕| 成人中文字幕av| 成人短视频软件网站大全app| 3d动漫精品啪啪1区2区免费| 亚洲av永久无码精品| 欧美猛男男男激情videos| x99av成人免费| 欧美日韩中文视频| 免费日韩视频| 69174成人网| 深夜福利视频一区| 1024成人网| 116极品美女午夜一级| 日韩成人亚洲| 欧美www视频| 你懂得视频在线观看| 亚洲午夜黄色| 欧美一区二区三区免费视| 91丨porny丨在线中文 | 成人一区二区电影| 天堂成人在线| 久久久不卡影院| 欧美性受xxxx黑人猛交88| 成人免费短视频| 日韩一级完整毛片| 天天舔天天操天天干| 在线国产精品一区| 国产精品入口免费视| 少妇喷水在线观看| 中文字幕亚洲在| 已婚少妇美妙人妻系列| 日韩精品视频在线看| 日韩av综合网| 久久久久久久久久久网| 久久国产三级精品| 欧洲在线视频一区| 国产无遮挡裸体视频在线观看| 6080日韩午夜伦伦午夜伦| 日韩无码精品一区二区| 亚洲深深色噜噜狠狠爱网站| 国产精品视频导航| 精品乱码一区二区三四区视频 | 成人在线看视频| 国产精品白浆| 精品少妇v888av| 国产精品玖玖玖| 国产欧美一区二区三区在线老狼| 欧美久久久久久久久久久久久| 免费一区二区三区四区| 中文字幕精品一区久久久久| 免费黄色av片| 久久久久久**毛片大全| 欧美精品99久久| 欧美成人精品欧美一| av午夜在线| 欧美日韩亚洲一区二| 国产黑丝一区二区| 国产精品magnet| 高清av免费一区中文字幕| 性xxxfreexxxx性欧美| 欧美日韩高清一区二区三区| 大胸美女被爆操| 蜜桃一区二区三区四区| 亚洲精品一区二区三区四区五区 | 欧美视频一区| 欧美一区二区视频在线观看| 长河落日免费高清观看| 伊人精品在线| 国产久一一精品| 在线视频自拍| 欧美亚洲丝袜传媒另类| 成年人视频软件| 国产中文一区二区三区| 亚洲成人第一| 色在线视频观看| 亚洲精品91美女久久久久久久| 亚洲综合一二三| 成人ar影院免费观看视频| 国产欧美123| 日本欧美不卡| 久久偷看各类女兵18女厕嘘嘘 | 在线区一区二视频| 国产jjizz一区二区三区视频| 激情久久久久久| 国产欧美日韩视频一区二区三区| 国产v日韩v欧美v| 精品国内二区三区| 免费在线一区二区三区| 成人动漫在线一区| 2022亚洲天堂| 亚洲热在线视频| 综合亚洲视频| 精品产品国产在线不卡| 中文字幕乱码在线播放| 亚洲欧美国产一区二区三区| 亚洲视频在线观看一区二区| 综合久久国产九一剧情麻豆| 欧洲熟妇的性久久久久久| 老牛嫩草一区二区三区日本| 熟女视频一区二区三区| 一级毛片精品毛片| 91国内在线视频| 色猫av在线| 欧美三级中文字| 国产在线视频二区| 日本一区二区免费在线| 免费在线观看日韩av| 视频一区二区中文字幕| 永久久久久久| 亚洲国产网址| 国产日韩精品电影| h片在线观看下载| 国产一区二区三区视频免费| 亚洲第一免费视频| 欧洲一区二区三区在线| 国产精品30p| 国产精品电影一区二区三区| 鲁大师私人影院在线观看| 老司机精品视频一区二区三区| 日本福利视频一区| 九九久久电影| 国产亚洲欧美一区二区三区| 日本免费成人| 国产精品678| 欧美日韩国产观看视频| 日韩专区中文字幕| 欧美成人综合在线| 亚洲第一福利网| 一级特黄aaa| 懂色aⅴ精品一区二区三区蜜月 | 国模吧无码一区二区三区| 欧美成人高清| 久久久久久99| 一区二区亚洲视频| 成人福利视频在线观看| 亚洲不卡系列| 国模视频一区二区| 18在线观看的| 精品国产一区二区三区久久| 国产69久久| 亚洲色图激情小说| 天天射天天色天天干| 欧美日韩精品一区视频| 波多野结衣视频在线观看| 福利视频一区二区| 欧美亚韩一区二区三区| 亚洲另类色综合网站| 天堂av免费在线| 国产精品你懂的在线欣赏| 色婷婷在线影院| 不卡一区二区在线| 日韩精品在线播放视频| 国产一区二区电影| 91精品无人成人www| 日本大胆欧美人术艺术动态| 欧美激情成人网| 视频在线在亚洲| av动漫在线观看| 男人的天堂亚洲| 亚洲国产精品久久久久婷蜜芽| 亚洲第一伊人| 国产成a人亚洲精v品在线观看| 97精品97| 亚洲激情啪啪| 日韩欧美视频| 在线国产精品网| 精品久久久亚洲| 亚洲va韩国va欧美va精四季| 日韩免费看片| 亚洲最大免费| 偷拍欧美精品| 7777在线视频| 一本一本久久a久久综合精品| www.激情网| 在线观看日韩| 日韩视频免费播放| 99精品国产99久久久久久福利| 国产极品粉嫩福利姬萌白酱| 久久综合导航| wwwwwxxxx日本| 国产69精品久久久久毛片| 国产xxxx视频| 久久精品夜色噜噜亚洲aⅴ| 免费看裸体网站| 国产精品久久久久影视| 免费毛片在线播放免费| 图片区小说区区亚洲影院| 91精品国产综合久久久蜜臀九色| 精品久久久久国产| 中国女人一级一次看片| 欧美日本一道本在线视频| 99在线精品视频免费观看软件 | 成人黄色av网| 国产成人av毛片| 欧美系列一区| 在线中文一区| 99精品免费在线观看| 久久精品二区亚洲w码| 91超薄肉色丝袜交足高跟凉鞋| 99精品视频中文字幕| jizzjizz日本少妇| 一区二区三区在线视频播放 | 国产精品主播| 日本中文字幕精品—区二区| 国产成人8x视频一区二区| 亚洲一区二区三区蜜桃| 亚洲欧美日韩久久精品| 国产www在线| 欧美一二三区在线| 国产在线视频网址| 欧美国产视频日韩| 国产成人精品一区二区三区视频| 国产不卡一区二区在线观看| 欧美日韩亚洲在线观看| 欧美视频在线观看网站| 久久99国产精品成人| 波多野结衣三级视频| 欧美国产国产综合| 国产污片在线观看| 91精品国产美女浴室洗澡无遮挡| 视频午夜在线| 久久99久久亚洲国产| 成人在线高清| 精品国产一二| 久久久久久国产精品免费播放| 亚洲国产cao| 男女视频免费看| 日韩三级免费观看| 欧美视频综合| 久久频这里精品99香蕉| 国产激情一区| 欧美日韩一区二区三区在线观看免 | 国产酒店精品激情| 黄色三级生活片| 欧美色欧美亚洲高清在线视频| 亚洲AV无码一区二区三区性 | 欧美日韩一区二区在线观看| 三级av在线| 久久久亚洲国产天美传媒修理工| 伦一区二区三区中文字幕v亚洲| 免费中文日韩| 国产欧美亚洲一区| 亚洲中文字幕一区| 亚洲午夜日本在线观看| 国产99视频在线| 久久精品在线播放| 亚洲天堂资源| 牛人盗摄一区二区三区视频| 国产精品乱看| 无套内谢丰满少妇中文字幕| 国产亚洲成av人在线观看导航| 国产午夜在线播放| 亚洲国产精久久久久久| 亚洲奶水xxxx哺乳期| 2014国产精品| 青青草国产成人a∨下载安卓| 男人的天堂99| 岛国精品在线观看| 久草成人在线视频| 欧美老年两性高潮| 美女隐私在线观看| 成人有码在线视频| 欧美二区不卡| 久久人人爽人人片| 中文字幕一区二区三区蜜月| 97人妻精品一区二区三区软件 | 9.1片黄在线观看| 欧美色精品在线视频| 精品国产乱码久久久久久108| 另类视频一区二区三区| 亚洲精品偷拍视频| 国产精品一区免费在线观看| 黄色香蕉视频在线观看| 欧美一区二区私人影院日本| 欧美aaaaaaa| 国产偷国产偷亚洲高清97cao| 亚洲激情网站| 特级西西人体wwwww| 色综合网站在线| 成人免费在线电影| 91精品视频在线| 久久精品免费一区二区三区| 性久久久久久久久久久久久久| 亚洲精品国产a| 日本黄视频在线观看| 欧洲亚洲在线视频| 欧美国产美女| 老司机午夜免费福利| 婷婷久久综合九色综合绿巨人| 毛片网站在线| 成人日韩av在线| 亚洲手机视频| 香蕉网在线播放| 欧美一a一片一级一片| 欧美日韩在线看片| 91人成网站www| 国产精品毛片| 萌白酱视频在线| 91精品国产综合久久香蕉麻豆| av大大超碰在线| 国产在线精品一区二区三区| 中文欧美日韩| 69视频在线观看免费| 日韩欧美中文字幕公布| 98色花堂精品视频在线观看| 亚洲精品国产精品国自产| 成人一区二区三区视频在线观看| 樱花视频在线免费观看| 欧美日韩电影在线观看| 欧美日韩国产一区二区三区不卡| 三级视频中文字幕| 香蕉乱码成人久久天堂爱免费| 国产资源在线观看| 国产视频精品网| 久久久久久穴| 国产亚洲成人精品|