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