成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

為什么網站知道我的爬蟲使用了代理?

開發 架構
網站要檢測爬蟲有非常多的方法,要檢測一個請求是不是使用了代理來發起,也有很多種方法。

在公眾號粉絲群里面,經常有同學問:為什么自己的爬蟲明明設置了代理,但一訪問網站就能被發現。我總結了幾種常見的情況。

實際上,網站要識別你是否使用了代理,并不一定非要什么高深的反爬蟲機制,也不需要使用AI識別用戶行為。下面這幾種情況,要識別代理簡直是易如反掌。

你根本沒有使用代理

有一些初學者在使用Requests請求網站的時候,是這樣寫的代碼:

import requests

resp = requests.get('https://httpbin.org/ip').text

print('不使用代理:', resp)

resp = requests.get('https://httpbin.org/ip', proxies={'http': 'http://IP:port'}).text
print('使用代理:', resp)

運行效果如下圖所示:

為什么使用了代理以后,IP沒有變呢?這是很多剛剛使用Requests的同學常常犯的錯誤。因為你根本沒有給https網站使用代理,你的代理只會對http網站生效。要對https網站生效,需要給它指定代理:

resp = requests.get('https://httpbin.org/ip', proxies={'http': 'http://IP:port', 'https': 'http://IP:port'}).text

P.S.: 注意看上面的代碼,給https網址設置代理的時候,key是https,但值依然是http://開頭。對一些代理供應商來說,如果你把這里設置成了https://開頭,就會報錯。不過這個原理跟本文無關,就暫時不講了。如果大家有興趣的話,我再寫一篇文章來講。

你的代理IP是服務器IP

有很多代理供應商,他們批量采購云服務器來搭建代理服務。例如國內的供應商會采購阿里云、騰訊云、華為云的服務器來搭建代理。海外的供應商會采購AWS或者Google云服務器。

如果你在云服務器上跑過不加代理的爬蟲,你會發現,有時候一個爬蟲,不加代理,在自己電腦上跑一點問題都沒有,但是在云服務器上一跑就會被識別。這是因為云服務器的IP地址范圍跟家用寬帶是不一樣的。

像AWS和Google云,他們的云服務器IP范圍是公開的,只要網站提前把來自這個范圍的所有請求全部禁掉,那么從AWS、Google云服務器上面發起的請求直接就會被當做爬蟲請求。因此搭建在上面的代理服務自然就不會生效了。

國內的云服務供應商的服務器IP地址是否公布過我不太清楚,但他們的IP范圍肯定是跟家用IP不一樣的。網址遇到來自這些可疑IP范圍的請求時,雖然不一定完全封禁,但是彈一個驗證碼出來測一測,還是可以擋住很多爬蟲。

遇到這種情況,爬蟲只有設法采購一些使用家用寬帶搭建代理服務的供應商,才能解決問題。但這種代理價格肯定會翻好幾倍。

你的代理IP不是高匿代理

代理IP有三種常見的類型,透明代理,匿名代理和高匿代理:

  • 使用透明代理的時候,網站可以同時看到代理IP和你的真實IP。用了等于白用。
  • 使用匿名代理的時候,網站看不到你的真實IP,但是在請求里面有一個特征,可以告訴網站,你正在使用代理訪問。
  • 而只有真正的高匿代理,才能把你的爬蟲請求隱藏起來。

有一些同學可能會從網上搜索免費的代理IP來使用。但這里面很多代理并不是高匿代理??隙〞话l現。

服務器供應商的IP池被污染

有些人的爬蟲寫得非常垃圾,自以為有代理就無所畏懼,爬蟲請求漏掉百出,網站即使不檢查IP頻率,也可以從其它特征知道這是爬蟲請求,于是網站就會連帶著這個代理IP一起封掉。而偏偏這種垃圾爬蟲的請求速度又極快。哪怕代理供應商的IP池中有幾百萬個IP,也會很快被這些垃圾爬蟲全部害死。

國內頭部網站每天都會被數以千萬計的爬蟲請求訪問,而主流的代理供應商就那么幾家。如果很多垃圾爬蟲都選中了同一家供應商,而他們的代理池更新又不及時。那么你使用了這家供應商的代理IP,自然一來就會被發現。

代理不支持HTTP/2

有一些網站需要使用HTTP/2請求。在Python里面,已經有不少HTTP客戶端庫支持發起HTTP/2的請求了,例如httpx。但是,現在很少有代理供應商能提供支持HTTP/2的代理,因為它搭建起來比較麻煩。于是,當你使用了支持HTTP/2的客戶端,通過一個HTTP/1.1的代理IP訪問一個HTTP/2的網站的時候,網站并不能正常返回內容。

總結

網站要檢測爬蟲有非常多的方法,要檢測一個請求是不是使用了代理來發起,也有很多種方法。而且這些方法并不需要什么高深的技術,一個初級工程師都能寫出來。

那些自以為給爬蟲加了代理就可隨便爬網站的人,你們不僅害了自己,還害了別的爬蟲。

責任編輯:趙寧寧 來源: 未聞Code
相關推薦

2020-08-10 11:20:59

索引MySQL數據庫

2025-02-24 10:36:15

2023-03-24 21:03:56

服務器代理

2019-09-17 15:30:13

Java編程語言

2015-09-22 11:09:47

Java 8動態代理

2021-04-22 18:34:01

協議DNSUDP

2012-05-24 09:13:20

2023-04-04 19:14:40

Linux發行版Alpine

2020-12-29 05:34:00

動態代理

2021-03-16 21:42:37

反向代理正向代理

2012-06-04 10:35:55

FirefoxChrome瀏覽器

2020-06-19 08:01:48

Kotlin 協程編程

2021-04-26 20:44:59

Nacos方法String.inte

2024-02-04 16:51:47

2024-04-03 09:23:31

ES索引分析器

2025-01-15 09:06:58

CSSRegEx前端

2016-11-08 09:04:20

ChromeHTTP網站

2012-04-04 22:07:12

Android

2020-08-14 09:11:29

RedisQPS數據庫

2012-02-28 09:11:51

語言Lua
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 免费v片在线观看 | 日韩亚洲视频 | 日本久久网 | www亚洲精品 | 伊人在线视频 | 国产一区二区在线观看视频 | 欧美日韩一区二区三区不卡视频 | 日本精品视频在线观看 | 久久不卡 | 欧美黑人体内she精在线观看 | 精品国产一区二区三区久久久蜜月 | 日韩精品一区二区三区在线播放 | 麻豆精品久久 | 亚洲精品1 | 亚洲一区二区久久 | 日韩中文字幕 | 一级一片在线观看 | 亚洲国产一区二区三区在线观看 | www.99re | 午夜小电影 | 国产激情视频在线 | 久久国产精品视频 | 国产区在线 | 一区二区三区在线免费观看 | 激情一区二区三区 | 国产精品成人一区二区三区吃奶 | 亚洲h在线观看 | 一区二区高清不卡 | 国产精品久久久久久 | 日日噜噜噜夜夜爽爽狠狠视频97 | 国产精品欧美一区二区三区 | 欧美一级二级在线观看 | 性色av香蕉一区二区 | 亚洲精品久久久久久久不卡四虎 | 99国产精品一区二区三区 | 一区二区视频免费观看 | 911精品美国片911久久久 | 欧美一级欧美三级在线观看 | 日韩三级在线观看 | 狠狠躁夜夜躁人人爽天天高潮 | 国产高清一区二区三区 |