有道翻譯之js數(shù)據(jù)構(gòu)造

1.先打開有道翻譯首頁,敲擊鍵盤F12鍵,打開network,點擊第一個響應(yīng),下滑鼠標中鍵找到form data的參數(shù),然后重新在輸入框中輸入新的關(guān)鍵詞,對比兩次請求響應(yīng)獲得的參數(shù)是否一樣


發(fā)現(xiàn)只有salt,sign,lts 是動態(tài)的數(shù)據(jù),點擊x傍邊的三個點

點擊Search,在輸入框中輸入sign摁回車鍵就能看見一行js代碼, 點擊打開并且格式化


摁ctrl+f 找到sign,發(fā)現(xiàn)這個是一段被md5加密的字符串

把鼠標移動到 e 就能發(fā)現(xiàn)這個變量就是輸入翻譯的關(guān)鍵詞

再移動鼠標到?i ,追蹤到上面的變量賦值,發(fā)現(xiàn)這是一個時間戳加隨機數(shù),一樣以來,知道sign是一個可以直接構(gòu)造的數(shù)據(jù)

整條字符串復制下來,用md5加密

把鼠標移動到bv的值 t 中,發(fā)現(xiàn)是一段被加密的數(shù)據(jù),把鼠標移動到?var t 的定義變量中,就能看見這是User-Agent,所以這也是可以直接可以直接構(gòu)建的

那么,現(xiàn)在可以確定 ts就是時間戳,salt就是時間戳+隨機數(shù),bv就是被md5加密的User-Agent,把所有參數(shù)放到pycharm構(gòu)建一個字典,這個字典僅限于中文翻譯英文,當然如果想要翻譯其他的可以先在輸入框中輸入其他語言的文字再獲取請求拿到from和to這兩個參數(shù)的值

給服務(wù)器發(fā)送請求獲取響應(yīng)

通過jsonpath找到j(luò)son數(shù)據(jù)中的翻譯值

完成
標簽: