999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

Python環境下的JavaScript逆向技術分析

2021-11-02 06:03:56王朝陽范伊紅李夢丹忽愛平
無線互聯科技 2021年17期

王朝陽,范伊紅,李夢丹,忽愛平

(河南科技大學軟件學院,河南 洛陽 471000)

0 引言

在互聯網的大千世界里,Python網絡爬蟲已經成為程序員對某個網站數據獲取、數據分析的一項重要的工具。爬蟲使人們的生活更加便利,尤其是其廣泛運用于搜索引擎、數據收集、廣告過濾等日常生活中的各個方面。如今,網絡爬蟲技術的基本實現方法不計其數,運用簡單的互聯網技術就能獲取完整的爬蟲代碼,故本文不再復述這些代碼,而主要聊聊一種爬蟲中所用到的JavaScript逆向技術(下文簡稱“JS逆向技術”),這種技術主要是為了解決網絡數據抓取時所遇到的參數加密、數據加密等問題[1]。

1 JS逆向技術介紹

當順利抓取到網頁的HTML代碼時,有一部分網站,例如某翻譯、某土地市場網等,夾雜著許多的加密數據,或者是一些看不懂的參數,這些數據會阻礙下一步的解析和運用,這時就需要運用JS逆向技術反解JS代碼對這些數據進行解密,從而重寫并模擬JS操作。

本文就以某翻譯網站為例,來解析Python環境下的JS逆向技術的實現過程。也許這個網站解析出的數據價值性沒有想象的高,但目的不是獲取有價值的數據,而是通過對這個網站爬取時所遇到的數據加密問題進行解析,從而獲取模擬真實的網絡請求[2]。這個技術會是大家探索網絡爬蟲的一個重要方向。

2 某翻譯網站數據爬取過程分析

2.1 獲取點擊“翻譯”按鈕時的請求數據

首先需要做的任務是利用爬蟲技術獲取翻譯前后的內容。打開翻譯網站,在左邊輸入框中輸入‘man’英文字符,點擊“翻譯”按鈕,右邊翻譯框會輸出一個“男人”的譯文。這時打開F12開發者工具,選擇Network選項,從中可以獲取到所有網絡發出的請求。怎樣找到哪一條是關鍵的請求呢?因為做的是翻譯工作,可以嘗試在Filter中輸入‘tran’的字樣進行過濾操作,果然過濾到了一條translate的請求,這時候可以盲猜這條請求就是所需要的請求。

2.2 確定請求頭中的加密參數

用requests庫編寫一個基礎的爬蟲代碼后,將請求頭中的cookie,header等信息放入爬蟲代碼,把參數一個一個地注釋,再進行編譯并打印出狀態碼,從中可以看到,如果打印“500”則證明此參數影響了請求,則此參數是有價值的,這就是尋找有用參數的方法。通過尋找發現關鍵參數有“OUTFOX_SEARCH_USER_ID”“salt”“sign”3個參數,通過多次請求比較,將會發現第一個參數在每次請求中都是不變的,所以最終確定兩個加密變化參數“salt”“sign”。

2.3 尋找參數的加密方式

在開發者工具中搜索這兩個參數,能找到一個js文件,這個就是要對其逆向的文件。在文件中查找參數名,可以發現12條相關數據,從其中篩選出純參數數據,在其位置打上斷點并進行編譯。通過刷新頁面,可以發現下面這段代碼出現了問題(見圖1)。

圖1 斷點尋找加密方式

可以看出salt的值是變量i,在第8 371行中顯示,i的值為變量r+14位的隨機數,再從8 370行中可以看出,變量r是一個時間戳,這就完美地解出了“salt”變量的組成。同理,從中能了解到,“sign”變量的組成是一個md5加密的數據,提供的參數為要翻譯的字符串和“salt”值的拼接。參數的組成清晰又明朗,對下一步的模擬請求發送起著關鍵性的作用[3]。

2.4 模擬請求發送

了解到數據如何構成之后,開始使用Python對整個請求發送進行模擬。自己定義時間戳和隨機數,拼接為“salt”和“sign”參數,根據業務邏輯完成整個爬蟲流程,如下文代碼段。

得到模擬的請求參數之后,將參數嵌入爬蟲代碼中,并且根據網頁結構找到翻譯結果的位置,從而進行發送請求。實現方法如下文代碼段。

2.5 請求成功,獲得數據

模擬請求發送后,使用重寫的爬蟲,得到翻譯框中翻譯的數據,并且可以根據不同的語言得到不同的翻譯結果。例如輸入‘Long time no see’,得出結果“好久不見”。

3 結語

JS逆向技術可謂是探索爬蟲領域的重要工具。通過對此翻譯網站的網頁結構分析,找出隱藏在其中的加密參數;通過斷點技術,找出參數的加密方式。相比于傳統爬蟲,可謂是更上一層樓。希望這種技術可以為讀者開辟一種新的思路。JS逆向技術的道路很長,有些網站構成復雜,僅僅拿到js文件并不是所謂的全部。在短短一秒鐘內,執行的代碼多達上萬行,這時就需要耐心分析,一步一個腳印,找出神秘之處,從而達到所需的目標。如何從萬行代碼中突破重圍,如何將JS逆向技術加以改進,所有從事IT行業的人們都任重而道遠。

主站蜘蛛池模板: 亚洲成a人片| 国产清纯在线一区二区WWW| 91小视频在线| 97se亚洲综合在线| 97色伦色在线综合视频| 国产成人亚洲无码淙合青草| 日韩无码视频播放| 免费观看成人久久网免费观看| 亚洲国产精品VA在线看黑人| 亚洲中文字幕久久精品无码一区| 911亚洲精品| 高清视频一区| 丁香五月亚洲综合在线| 国产精品亚洲天堂| 欧美精品xx| 在线精品视频成人网| 五月天综合网亚洲综合天堂网| 中国一级特黄视频| 超碰免费91| 国产极品美女在线观看| 成人在线观看一区| 亚洲精品国产首次亮相| 国产三区二区| 国产精品无码一二三视频| 高潮爽到爆的喷水女主播视频| 91啦中文字幕| 欧美日本激情| 亚洲色图在线观看| 丰满人妻一区二区三区视频| 国产区91| 伦伦影院精品一区| 久久窝窝国产精品午夜看片| 国产视频久久久久| 亚洲五月激情网| 亚洲人成成无码网WWW| 99视频精品全国免费品| 色成人综合| 国产美女一级毛片| 日韩精品亚洲精品第一页| 国产成人在线无码免费视频| 露脸一二三区国语对白| 亚洲AV永久无码精品古装片| 欧美日韩va| 久久青草热| 九色综合视频网| 欧美啪啪网| 精品久久久久久久久久久| 97色婷婷成人综合在线观看| 亚洲区第一页| 亚洲中文久久精品无玛| 四虎永久免费网站| 亚洲精品午夜无码电影网| 播五月综合| 国产男女免费完整版视频| 97视频免费在线观看| 亚洲第一视频免费在线| 沈阳少妇高潮在线| 亚洲男人天堂2020| 国产女人18毛片水真多1| 国产午夜人做人免费视频| 四虎永久免费在线| 亚洲系列无码专区偷窥无码| 尤物视频一区| 成人午夜免费观看| 好紧太爽了视频免费无码| 99精品伊人久久久大香线蕉| 国产成人乱无码视频| 欧美亚洲日韩中文| 99精品国产自在现线观看| 日韩免费视频播播| 欧洲亚洲欧美国产日本高清| 欧美国产成人在线| 精品国产美女福到在线直播| 伊人成色综合网| 免费毛片视频| 国产免费精彩视频| 国产亚洲欧美在线人成aaaa| 国产十八禁在线观看免费| 毛片久久网站小视频| 欧美无专区| 国产99视频精品免费视频7| 亚洲综合片|