自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

為什么你會(huì)被限制登錄網(wǎng)頁版微信?

開發(fā) 前端
有一個(gè)詞叫做“三月爬蟲”,指的是有些學(xué)生臨到畢業(yè)了,需要收集數(shù)據(jù)寫畢業(yè)論文,于是在網(wǎng)上隨便找了幾篇教程,學(xué)了點(diǎn)requests甚至是urllib和正則表達(dá)式的皮毛,就開始寫爬蟲瘋狂從網(wǎng)上爬數(shù)據(jù)。

 有一個(gè)詞叫做“三月爬蟲”,指的是有些學(xué)生臨到畢業(yè)了,需要收集數(shù)據(jù)寫畢業(yè)論文,于是在網(wǎng)上隨便找了幾篇教程,學(xué)了點(diǎn)requests甚至是urllib和正則表達(dá)式的皮毛,就開始寫爬蟲瘋狂從網(wǎng)上爬數(shù)據(jù)。這些爬蟲幾乎沒有做任何隱藏自己的舉動(dòng),不換IP,不設(shè)置headers,不限制速度,極易被有反爬的網(wǎng)站封鎖,極易給沒反爬的小網(wǎng)站造成流量壓力。

[[325425]]

后來,他們又不知道看了哪篇文章,知道要使用代理IP,要修改UserAgent。于是,他們真的就只在headers設(shè)置UserAgent,其他項(xiàng)一概不設(shè)置。你給他指出來,他還振振有詞:你看我這樣能爬到數(shù)據(jù)啊,headers里面其他項(xiàng)目沒有用。

事實(shí)真的是這樣嗎?

我們來做個(gè)實(shí)驗(yàn),首先使用Chrome訪問http://httpbin.org/headers 這個(gè)網(wǎng)站可以顯示當(dāng)前你的headers。運(yùn)行效果如下圖所示:

 

然后,再使用requests不設(shè)置headers請(qǐng)求這個(gè)URL,運(yùn)行效果如下圖所示:

 

最后,我們僅僅設(shè)置一個(gè)UserAgent看看效果:

 

可以看出來,僅僅設(shè)置一個(gè)UserAgent,與用瀏覽器訪問的 Headers 還是有很多不一樣的地方。缺了很多項(xiàng)。網(wǎng)站只需要檢測(cè)缺的這幾項(xiàng),就能確定你是用程序發(fā)起的請(qǐng)求還是用瀏覽器發(fā)的請(qǐng)求。

說回微信網(wǎng)頁版的問題。很多人使用wxpy或者itchat這種第三方庫通過Python控制自己的微信號(hào),實(shí)現(xiàn)很多自動(dòng)化操作。但不久以后就反饋說自己被限制登錄網(wǎng)頁版微信了,以為是不是自己的行為被微信發(fā)現(xiàn)了,例如一秒鐘內(nèi)發(fā)了幾十條消息,或者同時(shí)回復(fù)了好幾個(gè)人的消息。

但我要說的是,你們太高估自己了,微信要發(fā)現(xiàn)你們,根本就不用這么麻煩。它直接檢查headers就可以了。

我們來看一下wxpy的源代碼中,涉及到網(wǎng)絡(luò)請(qǐng)求的地方:

 

wxpy是基于itchat二次開發(fā)的,登錄功能是通過 itchat 來實(shí)現(xiàn)的。我們?cè)賮砜纯磇tchat里面發(fā)起網(wǎng)絡(luò)請(qǐng)求的地方:

 

其中的 self.core.s就是一個(gè) requests 的 Session,如下圖所示:

 

看到了嗎?這兩個(gè)庫,他們?cè)趆eaders里面只放了UserAgent,其他字段都沒有放。所以在你登錄的瞬間,微信就已經(jīng)知道你這個(gè)賬號(hào)沒有用瀏覽器登錄了!

所以,那些用了wxpy或者itchat就被限制登錄網(wǎng)頁版微信的人,不要懷疑,你們就是被這兩個(gè)庫給害了。這兩個(gè)庫里面涉及到網(wǎng)絡(luò)請(qǐng)求的相關(guān)代碼,水平一看就是一個(gè)學(xué)了兩三天爬蟲的人寫出來的代碼。

你用這兩個(gè)庫就是讓你的微信號(hào)去送死。

不僅僅是這兩個(gè)庫,我們?cè)倏纯春芏嗳耸褂玫腜ython 彈幕包,更夸張,在獲取斗魚直播信息的時(shí)候,直接用requests請(qǐng)求網(wǎng)址,連headers都沒有設(shè)置,如下圖所示:

 

這純粹就是送死行為。

現(xiàn)在大網(wǎng)站的機(jī)器行為對(duì)抗團(tuán)隊(duì)一般會(huì)把檢測(cè)爬蟲與封禁爬蟲分開。因?yàn)榉磁老x策略多了以后,不可避免存在誤傷的情況,為了盡可能降低誤傷率,檢查爬蟲時(shí)會(huì)對(duì)請(qǐng)求的可疑性進(jìn)行打分,當(dāng)你出現(xiàn)疑似爬蟲行為時(shí),給你的請(qǐng)求加上一些分?jǐn)?shù),某些行為分?jǐn)?shù)高,某些行為分?jǐn)?shù)低。當(dāng)你總積分達(dá)到一定程度時(shí),再調(diào)用封禁的流程。

由于 HTTP是無狀態(tài)的,如果你要爬的網(wǎng)站不需要登錄,那么也許你頻繁更換 IP 有用(阿布云的代理池就是被這樣污染的)。

但是對(duì)于微信這種需要登錄的情況,你的所有可疑行為的積分都會(huì)直接關(guān)聯(lián)到你的這個(gè)賬號(hào)上。于是,一開始可能你用 wxpy 登錄網(wǎng)頁版微信沒問題,這個(gè)時(shí)候你的可疑性積分還不夠高,可能確實(shí)有一些老古董瀏覽器的 Headers 就是少了很多項(xiàng)?但是你已經(jīng)在懷疑名單里面了。一旦你又出現(xiàn)了其他可疑行為導(dǎo)致可疑性積分繼續(xù)增加,那么當(dāng)微信已經(jīng)可以100%確信你就是用的自動(dòng)化程序登錄網(wǎng)頁版微信的時(shí)候,封禁你就是自然而然的事情了。

 

責(zé)任編輯:華軒 來源: 未聞Code
相關(guān)推薦

2020-02-21 18:00:31

微信限制登錄移動(dòng)應(yīng)用

2021-12-27 08:21:24

微信微信小技巧移動(dòng)應(yīng)用

2010-11-09 10:36:39

求職

2020-12-14 13:18:20

微信空間清理文件

2022-01-01 18:40:47

微信微信PC版

2020-04-29 15:30:22

CSP網(wǎng)頁前端

2021-12-30 22:01:01

Python代碼

2016-10-11 16:31:56

微信服務(wù)器消息

2020-01-13 10:16:53

TCPUDP協(xié)議

2020-04-01 15:30:19

TCPUDP服務(wù)器

2018-03-13 09:34:36

Kubernetes容器系統(tǒng)

2020-01-15 08:42:16

TCP三次握手弱網(wǎng)絡(luò)

2023-08-02 07:35:03

微信用戶隱私內(nèi)容安全

2021-10-13 06:49:15

網(wǎng)絡(luò) IO

2012-05-22 00:25:41

.NET

2014-01-23 16:27:44

域名解析異常互聯(lián)網(wǎng)癱瘓DNS

2016-03-04 10:29:51

微信支付源碼

2021-08-16 20:00:23

微信騰訊移動(dòng)應(yīng)用

2022-07-15 15:11:27

SQLite微信數(shù)據(jù)庫

2022-03-20 10:44:14

微信網(wǎng)頁版
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)