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行業的人們都任重而道遠。

主站蜘蛛池模板: 婷婷丁香色| jizz国产视频| 91亚洲免费| 日韩视频免费| 亚洲va欧美ⅴa国产va影院| 99热这里只有精品5| 99视频在线精品免费观看6| 日本草草视频在线观看| 亚洲成人网在线观看| 国产精鲁鲁网在线视频| 免费精品一区二区h| 亚洲色婷婷一区二区| 伊在人亚洲香蕉精品播放| 国产伦片中文免费观看| 99热这里只有精品久久免费| 亚洲日韩在线满18点击进入| 国产污视频在线观看| 亚洲国产精品VA在线看黑人| 18禁色诱爆乳网站| 美女扒开下面流白浆在线试听 | 91色在线视频| 久久综合伊人77777| 色综合久久88| 免费看美女毛片| 久久精品国产91久久综合麻豆自制| 99精品在线看| 色综合国产| 激情爆乳一区二区| 一本大道无码日韩精品影视| 亚洲男人的天堂久久香蕉| 亚洲一区二区三区国产精华液| 99热这里只有精品久久免费| 免费国产黄线在线观看| 国产成人麻豆精品| 久久精品这里只有精99品| 国产av一码二码三码无码| 成人午夜视频免费看欧美| 久久久噜噜噜| 亚洲视频一区在线| 亚洲黄色成人| 色悠久久综合| 欧美成人免费一区在线播放| 亚洲AV永久无码精品古装片| 国产福利一区视频| 欧美日本不卡| 伊人成色综合网| 波多野结衣亚洲一区| 国产日韩欧美精品区性色| 国产清纯在线一区二区WWW| 40岁成熟女人牲交片免费| 最新国产网站| 成人蜜桃网| 亚洲天堂网视频| 亚洲欧美不卡| 日本国产精品一区久久久| 国产成人91精品| 日韩精品无码免费专网站| 狠狠亚洲五月天| 亚洲日韩精品欧美中文字幕| 国产精品嫩草影院av| 操国产美女| jizz国产视频| 精品中文字幕一区在线| 黄色一及毛片| 久久久无码人妻精品无码| 日本高清在线看免费观看| 久久福利网| 欧美精品亚洲精品日韩专区va| 亚洲日产2021三区在线| 国产成人亚洲欧美激情| 无码乱人伦一区二区亚洲一| 欧美在线观看不卡| 四虎成人在线视频| 亚洲无限乱码| 中美日韩在线网免费毛片视频| 亚洲资源站av无码网址| 国产欧美日韩另类| 国产大片黄在线观看| 伊人AV天堂| 亚洲成网站| 亚洲成aⅴ人在线观看| 992Tv视频国产精品|