愛鋒貝
標(biāo)題:
記一次失敗的素材解析網(wǎng)站搭建過程。以及失敗反爬蟲經(jīng)歷
[打印本頁]
作者:
爬爬科技說
時間:
2021-5-5 15:20
標(biāo)題:
記一次失敗的素材解析網(wǎng)站搭建過程。以及失敗反爬蟲經(jīng)歷
之前在做小程序的時候需要一些素材,到國內(nèi)某素材網(wǎng)看了后想下,發(fā)現(xiàn)需要購買會員。但以往經(jīng)驗告訴我,像這種可以去某寶解決。果然,隨便搜一下關(guān)鍵字“素材”,“某圖網(wǎng)”,一大堆商品,做這個的真多,隨便點開一個順眼的看。商品分類也是琳瑯滿目。有包天的有包次數(shù),還有終身等等商品組合。居然還是聯(lián)合國內(nèi)十幾個素材網(wǎng)站都可以隨便下。價格也不貴。像這樣
(, 下載次數(shù): 18)
上傳
點擊文件名下載附件
之前買的時候有1塊前,20次的?,F(xiàn)在感覺都漲價了??赡苁赂医酉聛淼氖掠嘘P(guān)吧。
像我這么摳的,像我這種不是專業(yè)的設(shè)計,只是找下素材而已,當(dāng)然是選擇最便宜的那種。于是我買了個一塊錢的。是的,我買了好幾次。好幾家,都是同一個套路。自動發(fā)貨,給你賬號密碼,和一個店長自己的網(wǎng)址,里面有個輸入框,輸入素材網(wǎng)址就可以下載了。對于我們這種不是專業(yè)的設(shè)計人員,臨時需要素材還是很有幫助。
于是最近,突然想自己也搞一個這樣的網(wǎng)站,自己把套路想了一遍,買會員,爬蟲解析。于是網(wǎng)絡(luò)上好不容易找了一個看上去很精裝的網(wǎng)站。我之前遇到有店家用過這套模板。長這樣
(, 下載次數(shù): 17)
上傳
點擊文件名下載附件
真的是好不容易找到的。特地FQ去谷歌找,都是在一些什么資源站找的,有收費有免費,越難找。給我感覺價值好像越大。但后面的經(jīng)歷讓我知道,天下沒有免費的午餐。
找到源碼后,發(fā)現(xiàn)是php,一般都是。 網(wǎng)上發(fā)布的時間是19年年底。用的還是最新的thinkphp6框架 。現(xiàn)在想想估計是為了年末收一波韭菜。我深知這玩意肯定有后門。。但我先是買了香港服務(wù)器。阿里買的輕量服務(wù)器,24一個月。。一通配置后,先在自己電腦跑一下。php運行還是挺方便。打算一行一行看源碼,沒多久就放棄了,php也不熟,看了一會就覺得這策略不對,全局搜了下沒有可疑關(guān)鍵字,基本就放松了警惕。
這種解析網(wǎng)站,流程就是必須自己擁有平臺會員 -> 獲取cookies -> 自己的服務(wù)器解析-> 解析的下載地址發(fā)送給客戶端。
接下來,就是去忍痛買一個會員。想來想去,先去購買 某圖網(wǎng)的一年198 。感覺是國內(nèi)目前最大的素材,就算失敗了也不會死的太慘。會員到手后。登錄->獲取cookies
正準(zhǔn)備把cookies 復(fù)制到網(wǎng)頁后臺時,從我職業(yè)的感覺上來講,這里可能會有問題,于是在提交cookies 這個的地方 ,仔細(xì)審查了下代碼
(, 下載次數(shù): 16)
上傳
點擊文件名下載附件
(, 下載次數(shù): 18)
上傳
點擊文件名下載附件
在對cookies增刪改查的過程中都會發(fā)送http 給到一個服務(wù)器。這個http_post 方法基本寫死。就是給某個設(shè)定好的ip地址發(fā)送數(shù)據(jù)。 于是我把這個方法改了,并全局都注釋了。再決定用正則找出全局有ip的字段。全刪了。
又一通檢查后,填寫好cookie后,準(zhǔn)備解析時,發(fā)現(xiàn)不行,原來這個源碼根本不提供解析功能,解析也是同樣通過 http_post 去第三方,可能是作者的服務(wù)器解析。后來想想,這樣做也有一定道理。解析策略有可能會變,這樣就可以保證統(tǒng)一維護,代價可能就是你的賬號被共享。
后來只能自己解析,發(fā)現(xiàn)解析真不難,是完全暴露下載地址,用python 開了個簡單解析接口,準(zhǔn)備用作本體去請求。能夠解析后,萬事俱備。準(zhǔn)備做著發(fā)財躺著賺錢的夢時...
隨之而來的問題是..那個某圖網(wǎng) 居然有對賬號下載檢測,只要連續(xù)下載多次,很容易就出現(xiàn)滑動驗證,或輸入驗證碼啥的。
(, 下載次數(shù): 17)
上傳
點擊文件名下載附件
之前擔(dān)心的事果然是真的。如果同時多個用戶在爆我這個VIP號。那分分鐘出問題。沒辦法,褲子都脫了,錢也付了,不能就這么算了. 想了一個方案: 滑動驗證,可以通過python解決,驗證碼可以發(fā)給到客戶端,讓用戶填寫,再回傳給服務(wù)器。
接下來就是對抗滑動驗證這個難題。之前沒弄過滑動,打算用 selenium + chromedriver。畢竟這玩意其實就是瀏覽器運行,現(xiàn)在想想還是太年輕。
一通巴拉巴拉配置。設(shè)置cookies ,打開下載頁?;瑒域炞C檢測出了我是用 非人類的方式。 拒絕我滑動。
(, 下載次數(shù): 16)
上傳
點擊文件名下載附件
上網(wǎng)搜索類似的問題,都是說被反爬蟲了。解決的方式無非是修改特征碼啥的,我大概試了下,都不行,什么提前修改navigator.webdriver 等特征。
或是修改瀏覽器被控制的那個提示
chrome_options.add_experimental_option("excludeSwitches", ['enable-automation']) 或是使用 pyppeteer。也不行。
后來只能去翻翻官網(wǎng)的代碼??纯词悄睦锉粰z測出來的。
(, 下載次數(shù): 18)
上傳
點擊文件名下載附件
發(fā)現(xiàn)彈出滑塊操作時,會請求一個api。用來驗證你是不是 機器人吧。
如果返回code == 400 就可以彈出滑塊。而我用chromedriver打開的都是800
(, 下載次數(shù): 19)
上傳
點擊文件名下載附件
所以確定問題是出在 這個api上。觀察了這個api,只附帶了3個參數(shù):
(, 下載次數(shù): 17)
上傳
點擊文件名下載附件
就是參數(shù)v,會變,繼續(xù)查找v的構(gòu)造方法。
(, 下載次數(shù): 17)
上傳
點擊文件名下載附件
發(fā)現(xiàn)方法是請求 alicdn上,說明這玩意應(yīng)該是阿里的反爬蟲。再來看構(gòu)造的方法。getNVCVal()
方法里的o參數(shù)是window 。而NVC_Data分別存放了appkey,token,scene,trans,__nvc__umid。經(jīng)過排查發(fā)現(xiàn)這幾個基本都不會變化而且與正常瀏覽器行為一致。
(token只是時間戳+一串隨機數(shù)。appkey:可能是瀏覽器唯一標(biāo)識符吧)
(, 下載次數(shù): 18)
上傳
點擊文件名下載附件
繼續(xù)觀察返回的其他相關(guān)值,在控制臺分別打印后,基本都是undifind。正常瀏覽器也一樣。所以排除。只剩下 2 個參數(shù)不固定。
(, 下載次數(shù): 17)
上傳
點擊文件名下載附件
NVC_Result.nvcPreRes.co[s.LogVal] 其中 s.LogVal = "_
n" 所以 => o['_n']
其中
NVC_Result.nvcPreRes.c是通過請求api獲得。
(, 下載次數(shù): 17)
上傳
點擊文件名下載附件
(, 下載次數(shù): 19)
上傳
點擊文件名下載附件
(, 下載次數(shù): 17)
上傳
點擊文件名下載附件
請求參數(shù)都是有跡可循的,沒什么問題。
那就剩下最后一個參數(shù) o[‘_n’],只要把這個弄清楚了。問題就通了。
下斷點。一步步調(diào)試,最后進入到這個方法。
(, 下載次數(shù): 17)
上傳
點擊文件名下載附件
在進入到e這個方法
(, 下載次數(shù): 17)
上傳
點擊文件名下載附件
蒙圈了,整個文件上萬行,這個方法都估計好幾千行。單步調(diào)試根本行不通。這代碼不是給人看的。。我只能大膽猜測是跟:
(, 下載次數(shù): 16)
上傳
點擊文件名下載附件
這串玩意有關(guān),因為方法中多處出現(xiàn)類似這種常量值。而這個可能就是爬蟲的特征值啥的。并且這個方法隔一段時間就會被調(diào)用。所以 o[‘_n’]的值也會一直變化。
前臺收集這些特征值后,發(fā)給服務(wù)器驗證,如果能攻破這個方法,自己打造正常的o[‘_n’]值,問題就應(yīng)該解決了。不過小弟能力有限。做出了個艱難的決定。關(guān)閉瀏覽器。關(guān)閉編譯器。打開知乎,分享。素材解析站失敗落地?!,F(xiàn)在反爬真實可怕。有點下不去手。
真佩服那些淘寶的,他們是怎么做到可以支撐那么多用戶下載,應(yīng)該不只是靠一個賬號就能解決的。當(dāng)然,如果牛逼可以破解這套反爬蟲,理論上有可能實現(xiàn)一個VIP賬號行走天下,不過誰又知當(dāng)下載量多了后,平臺會不會封了你的賬號呢?況且還有其他十幾個素材網(wǎng)站。搞一個就夠嗆了。如果真的是自己掏腰包買會員,那成本可有點大?;蛟S就是通過這個所謂的源碼分享,盜取你cookies。獲取很多cookies 后再動態(tài)分配。
有意思的是,我后來再去找之前購買的那些淘寶店家,不是下架了就是關(guān)門了。。。這估計就是跑路了吧,所以奉勸各位千萬不要想著買里面的終身會員,時間久了肯定割韭菜跑路。。這行水深??蓱z我那剛沖的vip年號198元。 各位大哥誰要買呀。我打個8折。2月3號買的。
我看過了,可以換綁手機和登錄qq。就是說可以換個一干二凈。是安全的。實在不行咱可以走淘寶。順便留個微信。各位大哥要買的加個微信,我只有一個VIP號:
(, 下載次數(shù): 18)
上傳
點擊文件名下載附件
-----------------------------
作者:
ydfrfgf
時間:
2021-5-5 16:42
小白勸退
作者:
好甜好甜的桔子
時間:
2021-5-5 17:17
最近剛好在看看解析網(wǎng)的運行邏輯,感謝前車之鑒
作者:
很久了可能年紀(jì)
時間:
2021-5-5 17:54
還好沒買.
作者:
大酷
時間:
2021-5-5 18:39
剛最近有個想法想搭建個素材類網(wǎng)站,越了解水越深,感覺搭建容易,維護難,有空可以討論下
作者:
院長
時間:
2021-5-5 21:09
沒想到水這么深
作者:
雨夢
時間:
2021-5-5 22:26
謝謝分享你的經(jīng)歷
歡迎光臨 愛鋒貝 (http://m.7gfy2te7.cn/)
Powered by Discuz! X3.4