有道翻译爬虫 js逆向
生活随笔
收集整理的這篇文章主要介紹了
有道翻译爬虫 js逆向
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
1.抓包分析
1.1打開 https://fanyi.youdao.com/ 打開F12抓包 接口為post請求 篩選一下
經過對比可以看到字段 salt sign lts 變化 ,經過分析可以得到salt lts為時間戳 區別只是長度之間的差別
2.逆向分析
2.1 ctrl+shift+f全局搜索sign 可以找到fanyi.min.js文件
2.2 進入js文件 輸入sign 經過篩選可以找到疑似md5加密 打個斷點在網頁重新輸入需要翻譯的字段
2.3 可以看到js是使用md5加密 這里采用拼接即可
2.4 拿到圖1.1的post請求data,用字符串拼接一下代碼:
salt: 16589335746912 sign: 5614d4985a3a4e0f7fc78bbedc3522f8 lts: 1658933574691keyword = 'cat' time = '16589335746912' str = 'fanyideskweb'+ keyword + str(time) + 'Ygy_4c=r#e#4EX^NUGUc5' md5.update(str.encode("utf8")) sign = md5.hexdigest() print(sign)完整代碼如下:
import hashlib,requests,time md5 = hashlib.md5()def down(keyword,sign,lts,salt):url = 'https://fanyi.youdao.com/translate_o?smartresult=dict&smartresult=rule'headers = {'user-agent':'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/103.0.5060.134 Safari/537.36 Edg/103.0.1264.71','referer':'https://fanyi.youdao.com/','cookie':'OUTFOX_SEARCH_USER_ID_NCOO=353057625.3046742; OUTFOX_SEARCH_USER_ID="242904760@10.105.137.203"; STUDY_SESS="42X+/0fQWO+PwZUs00HRb1Vc7OQtcOUmYi80326RJ9ThslfAR4KE/GhXLZCaYaVctoFBOCkE65ii+mJSpr4/sZK2WMhDg5A/z7iTmHO4xts2IU//wxoQxryqwc+QZyW2CM2DPabcGHI6x/L+re8MzguyV48liOelpnOvyb70J28Lhur2Nm2wEb9HcEikV+3FTI8+lZKyHhiycNQo+g+/oA=="; STUDY_INFO="oP4xHuAVkAf0MVwZBnwP6Jbwhy1c|6|1436746713|1658768068557"; DICT_SESS=v2|tZ4iqRJ_NWQzO4UmOLlM0lm0MkM0MOY0lEkfTynHqu0zYhMlm0Mg40JzOfTyh4g40gZhfTZ0Hlf0gukMpBkLey0lfOLgLOfYm0; DICT_LOGIN=1||1658768068628; fanyi-ad-id=308216; fanyi-ad-closed=0; ___rl__test__cookies=1658937677747',}data = {'i': keyword,'from': 'AUTO','to': 'AUTO','smartresult': 'dict','client': 'fanyideskweb','salt': salt,'sign': sign,'lts': lts,'bv': '8b6c8845a74df59c1f2be6165a6104b5','doctype': 'json','version': '2.1','keyfrom': 'fanyi.web','action': 'FY_BY_REALTlME',}res = requests.post(url,headers=headers,data=data)return resif __name__ == '__main__':# salt: 16589335746912# sign: 5614d4985a3a4e0f7fc78bbedc3522f8# lts: 1658933574691keyword = 'dog'lts = str(int(time.time() * 1000))salt = lts + str(1)str = 'fanyideskweb' + keyword + str(salt) + 'Ygy_4c=r#e#4EX^NUGUc5'md5.update(str.encode("utf8"))sign = md5.hexdigest()# print(sign)res = down(keyword,sign,lts,salt).textprint(res)總結
以上是生活随笔為你收集整理的有道翻译爬虫 js逆向的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Environment Mapping
- 下一篇: android京东源码下载,京东商城AP