經(jīng)驗(yàn)貼】用最土的手法,最高調(diào)的繞過反爬

      網(wǎng)友投稿 719 2025-04-02

      @[toc]

      緣起

      哈嘍大家好,我是“看,未來”,好久不見。或者說,好久不爬了。

      但是今晚,重出江湖,“血雨腥風(fēng)”不至于,拿了數(shù)據(jù)我就走。

      這不要考試了嘛,想著拿一下平時(shí)的選擇題來過一遍,加深一下印象。奈何那選擇題都是被選過的了,答案的痕跡很明顯,又不讓復(fù)制粘貼。

      簡(jiǎn)單的說呢,目標(biāo)是這樣的:

      那你說這樣的試題做起來有什么意思,難道我要說:“看不到看不到,我看不到答案”,騙誰呢。

      而且吧,我這人有個(gè)癖好,我要打印出來看吶。

      但是吧,題目可以直接復(fù)制,選項(xiàng)不讓復(fù)制,這給我著急的啊。

      第一次嘗試:咱畢竟是懂技術(shù)的人,干的活兒那怎么能沒有技術(shù)含量?

      是吧,咱如果只會(huì)截圖,提取文字,那和沒學(xué)過爬蟲的小白有什么兩樣?

      我們有一個(gè)老師,給我們的題目都是純英文的,每次做完還要我們從頭到尾翻譯一遍交上去。

      沒點(diǎn)技術(shù),真得去把英語學(xué)得很六啊,不然百度翻譯都麻煩?

      于是我果斷打開了網(wǎng)頁源代碼,這時(shí)候我可以介紹一下這套題目的規(guī)模了:

      總共六套試題,平均每套試題有32道題目,這就是近200道題了,每道題有四個(gè)選項(xiàng),個(gè)別多選題有五個(gè)。

      也就是說,我如果用手去復(fù)制粘貼,要復(fù)制粘貼各1000下。

      這事兒我能干嗎?我復(fù)制粘貼了100下就果斷放棄了,這事兒我干不了!!!

      第二次嘗試:算了,什么技術(shù)部技術(shù)的,土辦法來吧

      于是,我開始用截圖。。。

      是的,我又一次屈服了。。。

      但是,就算截圖,我也要與眾不同,我長截圖!!!

      一套試卷我直接一張圖分四段截下來,一段8題。到打印的時(shí)候,我成功的發(fā)現(xiàn),打印出來,那字得用顯微鏡去看,可惜我暫時(shí)買不起。

      于是,這條路又失敗了。

      第三次嘗試:失敗了?不,只是沒調(diào)好參而已啦,再干!!!

      緩了緩神兒,去考了場(chǎng)試回來,我深思熟路。

      字太小,是不是我一次截太多題目了,那我一次截4題?

      說干就干,吭哧坑次一小時(shí)又過去了,再打印,好家伙,字雖然小,終于可以看了,就是淡了點(diǎn)。

      誒,不對(duì),這答案怎么明顯比較深色啊。

      完了,又白干了。。。

      于是我跟身邊的好兄弟抱怨了一下:這復(fù)制粘貼簡(jiǎn)直要命。

      他說:你可以花一個(gè)晚上。

      我說:你開什么玩笑?這是一晚上能解決的事情?

      他說:我的意思是,犧牲你睡覺的一晚上,弄完發(fā)我一份兒,我替你睡覺。

      我當(dāng)時(shí)錘爆他的心都有了,還是嘴硬:算了算了,我去爬吧。

      第四場(chǎng):給老子爬!!!

      我想,要不我去把網(wǎng)頁源碼復(fù)制下來吧。

      好家伙,復(fù)制不了。

      看都不用看,這種要登錄的,不交賬號(hào)密碼去post,根本不可能給你requests到源碼的。

      當(dāng)時(shí),post吧,又是加密過的。。。

      你說怎么po?

      我本來對(duì)post也不熟。

      于是我就想轉(zhuǎn)json包,發(fā)現(xiàn)包里的網(wǎng)址也上不去。

      很無奈。

      重頭戲來了,前面講了那么多廢話,重頭戲來了

      經(jīng)驗(yàn)一:

      將鼠標(biāo)放在數(shù)據(jù)上方,左擊,有兩個(gè)選項(xiàng),選第一個(gè):“copy value”,可以復(fù)制該作用域下數(shù)據(jù)。我選擇的是“data”

      就算json的網(wǎng)址無法打開(因?yàn)橐卿洠覀円部梢酝ㄟ^這種方式來獲取json的內(nèi)部數(shù)據(jù)!!!

      復(fù)制下來之后呢,放在txt文件里面,拖到瀏覽器打開瀏覽。

      經(jīng)驗(yàn)二:

      這里我全程推薦用谷歌瀏覽器,Chrome。別問我為什么,以前講過很多遍了。

      經(jīng)驗(yàn)三:

      對(duì)于這種有很多雙引號(hào)和單引號(hào)在內(nèi)的數(shù)據(jù),用三引號(hào)包起來。

      但是,直接包是不行的,直接包,type是srt,但是轉(zhuǎn)不了json。

      會(huì)報(bào)這個(gè)錯(cuò):“json.decoder.JSONDecodeError: Expecting ‘,‘ delimiter: line xx column xx (char xxx)”

      問題原因:

      將字符串作為字符串文字復(fù)制粘貼到Python源代碼中,出現(xiàn)錯(cuò)誤。

      解決辦法:

      在這種情況下,\n被解釋為單個(gè)字符(換行符)。您可以通過使用原始字符串文本來修復(fù)它(r’’,使用三引號(hào)r’’’…’’'以避免在字符串文本中轉(zhuǎn)義""引號(hào))

      經(jīng)驗(yàn)四:

      Python3報(bào)錯(cuò):Non-UTF-8 code starting with '\xe7’的錯(cuò)誤

      咱也不知道為啥,就是第一次可以,后面換了個(gè)字符串就行了,很迷。仔細(xì)比對(duì)了兩個(gè)json字符串,沒有什么區(qū)別啊。

      Python3默認(rèn)使用utf-8的編碼格式,如果出現(xiàn)Non-UTF-8 code starting with '\xe7’的錯(cuò)誤,可以在程序的==最頂部==加上 # -- coding:utf-8 --即可。

      放碼過來

      不好意思啊,我這個(gè)寫的比較土一點(diǎn),短短幾行,寫不出很長的代碼來,見諒見諒。

      def get_value(score): ''' 從json類型字符串提取目標(biāo)標(biāo)簽下數(shù)據(jù) :param score: 目標(biāo)字符串 :return: null ''' json_js = json.loads(score) for data in json_js['lists']: print(data['title']) print("answer: " + data['answer']) for option in data['options']: print(option['id'] + ": " + option['title']) print('-------------')

      不要詫異為什么只是print,沒有寫入文件。

      不要問,問就是懶得寫,我直接cv到word里不好嗎?

      結(jié)語

      【經(jīng)驗(yàn)貼】用最土的手法,最高調(diào)的繞過反爬

      代碼不是重點(diǎn),重點(diǎn)是這個(gè)思路。==不管方法有多土,只要簡(jiǎn)單,且最快的實(shí)現(xiàn)目標(biāo),就行了==,沒人管我土不土,他們只要我的文檔。

      也有朋友知道后跟我說:你為什么不用selenium呢?或者直接將網(wǎng)頁源碼離線保存下來?

      首先,selenium不比這個(gè)好寫,而且,還慢。其實(shí)就是不好寫。

      網(wǎng)頁源碼離線保存,我試過了,到時(shí)候還要正則,再排版,在輸入到文檔中,更麻煩。

      我的好朋友曾給我看過一個(gè)笑話,在他看來是笑話,但是卻引起了我的深思,我分享給大家吧。

      有個(gè)不大的公司,遭遇一個(gè)黑客勒索,黑客說,一天不交贖金,就按時(shí)給公司斷電。然后,他做到了。公司老板很著急啊,就開始讓技術(shù)部門排查,查了很久查不出來,又斥重金去外面請(qǐng)了安全專家來排查,還是沒查出來。后來,偶然有一次,被發(fā)現(xiàn)黑客花了點(diǎn)錢買通了公司里的一個(gè)老大爺,老大爺每天按時(shí)去拉電閘。。。

      批復(fù)是:真正厲害的手法,往往是最原始的。。。

      一千個(gè)讀者有一千個(gè)哈姆雷特吧,我還是忘不了那天中午,老師讓我打開了淘寶,一塊錢買了我一周的努力,這就是方法論,方向論,解決問題的路子要廣,要野,思路要打開,怎么穩(wěn),怎么簡(jiǎn)單,怎么來。

      JSON 數(shù)據(jù)結(jié)構(gòu)

      版權(quán)聲明:本文內(nèi)容由網(wǎng)絡(luò)用戶投稿,版權(quán)歸原作者所有,本站不擁有其著作權(quán),亦不承擔(dān)相應(yīng)法律責(zé)任。如果您發(fā)現(xiàn)本站中有涉嫌抄襲或描述失實(shí)的內(nèi)容,請(qǐng)聯(lián)系我們jiasou666@gmail.com 處理,核實(shí)后本網(wǎng)站將在24小時(shí)內(nèi)刪除侵權(quán)內(nèi)容。

      版權(quán)聲明:本文內(nèi)容由網(wǎng)絡(luò)用戶投稿,版權(quán)歸原作者所有,本站不擁有其著作權(quán),亦不承擔(dān)相應(yīng)法律責(zé)任。如果您發(fā)現(xiàn)本站中有涉嫌抄襲或描述失實(shí)的內(nèi)容,請(qǐng)聯(lián)系我們jiasou666@gmail.com 處理,核實(shí)后本網(wǎng)站將在24小時(shí)內(nèi)刪除侵權(quán)內(nèi)容。

      上一篇:真相大揭秘:德國制造為什么會(huì)那么強(qiáng)
      下一篇:es(七)
      相關(guān)文章
      国产成人A亚洲精V品无码| 亚洲香蕉在线观看| 亚洲欧美成人综合久久久| 亚洲日本一区二区三区| 久久久亚洲精品视频| 亚洲av无码片在线播放| 亚洲av永久无码精品秋霞电影影院 | 亚洲精品在线免费看| 亚洲高清在线mv| 亚洲综合在线视频| 青青草原精品国产亚洲av| 亚洲丝袜美腿视频| 亚洲天天在线日亚洲洲精| 久久丫精品国产亚洲av| 久久国产亚洲高清观看| 亚洲综合激情九月婷婷| 亚洲成人福利在线观看| 亚洲字幕在线观看| 亚洲av成人一区二区三区| 亚洲自偷自偷在线成人网站传媒| 国产AV旡码专区亚洲AV苍井空| 亚洲午夜无码久久久久小说 | 亚洲乱人伦中文字幕无码| 亚洲精华液一二三产区| 亚洲av日韩精品久久久久久a| 在线播放亚洲精品| 久久精品夜色噜噜亚洲A∨| 亚洲人成亚洲人成在线观看| 久久久久久a亚洲欧洲AV| 久久亚洲AV成人无码软件| 亚洲另类古典武侠| 亚洲熟妇无码av另类vr影视 | 亚洲欧洲日韩国产综合在线二区| 日木av无码专区亚洲av毛片| 亚洲日本香蕉视频| 亚洲日本va一区二区三区| 99亚洲乱人伦aⅴ精品| 亚洲真人日本在线| 亚洲精品白浆高清久久久久久| 亚洲天堂在线播放| 亚洲 欧洲 自拍 另类 校园|