av一区二区在线观看_亚洲男人的天堂网站_日韩亚洲视频_在线成人免费_欧美日韩精品免费观看视频_久草视

您的位置:首頁技術文章
文章詳情頁

Python 調用有道翻譯接口實現翻譯

瀏覽:50日期:2022-08-04 16:28:56

最近為了熟悉一下 js 用有道翻譯練了一下手,寫一篇博客記錄一下,也希望能對大家有所啟迪,不過這些網站更新太快,可能大家嘗試的時候會有所不同。

首先來看一下網頁 post 過去的數據

Python 調用有道翻譯接口實現翻譯

Python 調用有道翻譯接口實現翻譯

大家不難發現,我們翻譯的內容是放在 post 的 data 中的,這些參數,除了 salt 和 sign 要么就是不會變化,要么就是一眼能看出來意義的;那么這個 salt 和 sign 是什么呢?salt 根據 ta 數據的特征,我們應該會想到,這應該是一個時間戳,而 sign 又是什么呢?我們一起來看一下

找到這個 js 文件,最上面這個 send 文件

Python 調用有道翻譯接口實現翻譯

將里面的 js 代碼拷貝出來,格式化一下,搜索 sign

Python 調用有道翻譯接口實現翻譯

我們發現,salt 確實是一個時間戳,但 sign 呢?,這里對 sign 的計算稍微多??錄婦洌?繽跡

Python 調用有道翻譯接口實現翻譯

大家發現 sign 的值,也就是 o 一共是對四個參數進行求 md5 碼,兩個是定值,一個是前面求到的時間戳,還有一個是什么呢?這個地方我也找了挺久的(還是不懂 js 的痛啊,哭。。。)剩下的參數,就是圖片中所謂的 t

var t = e.i

然后在 data 中,大家還能發現這么一句:

i:e.i

這個 i 我們對應到 ta 發送的 data 中,不就是我們要翻譯的字符串嗎?哈哈哈,被我發現了吧!

發現這個就好辦了,我們找出其中參數之間的關系,用Python實現 ta

Python 調用有道翻譯接口實現翻譯

但當我們構造好 data 興高采烈地將數據 post 過去的時候,會發現出現報錯了

Python 調用有道翻譯接口實現翻譯

為什么呢?難道是我們的 data 構造的有問題嗎?不清楚,先嘗試一下,咱們吧瀏覽器中的 data 拷貝進來運行一下,發現還是出錯了;那么說明錯誤不是出在 data 上面了,那究竟是那里出了問題呢?難道 ta 還有其他的校驗方式;別著急繼續分析,我們再觀察一下,post 請求,發現這個請求是帶了 cookie的,于是我們猜測,是不是 cookie 的原因呢? 還是不清楚,我們嘗試一下,將 data 對應的 cookie 加上,再運行一下。發現這次通過了,我們的猜測沒錯,確實是 cookie 的原因,那么這個 cookie 又是怎么來的呢?

Cookie

Python 調用有道翻譯接口實現翻譯

多嘗試幾次,大家會發現,不同的請求內容,前面兩個是不會發生改變的,而第三個,結合我們之前的經驗,是不是很像一個時間戳;既然有猜測,咱們就又來嘗試一下,自己構造一個 Cookie post 過去,萬事大吉,哈哈哈哈。

最后附上我的代碼

#/usr/bin/python # encoding:utf-8# __Author__ = Slwhyimport requestsimport timeimport randomimport hashlib#i = '' + ((new Date).getTime() + parseInt(10 * Math.random(), 10))i = str(int(time.time()*1000)+random.randint(1,10))#o = n.md5('fanyideskweb' + t + i + 'aNPG!!u6sesA>hBAW1@(-');t = raw_input('please input the word you want to translate:')u = ’fanyideskweb’l = ’aNPG!!u6sesA>hBAW1@(-’src = u + t + i + l # u 與 l 是固定字符串,t是你要翻譯的字符串,i是之前的時間戳m2 = hashlib.md5()m2.update(src)str_sent = m2.hexdigest()’’’ i:number from:AUTO to:AUTO smartresult:dict client:fanyideskweb salt:1515462554510 sign:32ea4a33c063d174a069959a5df1a115 doctype:json version:2.1 keyfrom:fanyi.web action:FY_BY_REALTIME typoResult:false’’’head = { ’Accept’:’application/json, text/javascript, */*; q=0.01’, ’Accept-Encoding’:’gzip, deflate’, ’Accept-Language’:’zh-CN,zh;q=0.9’, ’Content-Length’:’200’, ’Connection’:’keep-alive’, ’Content-Type’:’application/x-www-form-urlencoded; charset=UTF-8’, ’Host’:’fanyi.youdao.com’, ’Origin’:’http://fanyi.youdao.com’, ’Referer’:’http://fanyi.youdao.com/’, ’User-Agent’:’Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/63.0.3239.108 Safari/537.36’, ’X-Requested-With’:’XMLHttpRequest’, # ’Cookie’: ’YOUDAO_MOBILE_ACCESS_TYPE=1; OUTFOX_SEARCH_USER_ID=833904829@10.169.0.84; OUTFOX_SEARCH_USER_ID_NCOO=1846816080.1245883; fanyi-ad-id=39535; fanyi-ad-closed=1; JSESSIONID=aaaYuYbMKHEJQ7Hanizdw; ___rl__test__cookies=1515471316884’}head[’Cookie’] = ’OUTFOX_SEARCH_USER_ID=833904829@10.169.0.84; OUTFOX_SEARCH_USER_ID_NCOO=1846816080.1245883; ___rl__test__cookies=’+str(time.time()*1000) # ’___rl__test__cookies=1515471316884’data = { ’i’: t, ’from’:’AUTO’, ’to’:’AUTO’, ’smartresult’:’dict’, ’client’:’fanyideskweb’, ’salt’:i, ’sign’:str_sent, ’doctype’:’json’, ’version’:’2.1’, ’keyfrom’:’fanyi.web’, ’action’:’FY_BY_REALTIME’, ’typoResult’:’false’}s = requests.session()# print dataurl = ’http://fanyi.youdao.com/translate_o?smartresult=dict&smartresult=rule’p = s.post(url,data= data,headers = head)print p.text

到此這篇關于Python 調用有道翻譯接口實現翻譯的文章就介紹到這了,更多相關Python 有道翻譯內容請搜索好吧啦網以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持好吧啦網!

標簽: Python 編程
相關文章:
主站蜘蛛池模板: 亚洲精品一区二区三区丝袜 | 国产精品成人一区二区三区 | 欧美一级免费片 | 一区二区三区在线电影 | 精品在线观看一区二区 | 成人免费视频网站在线观看 | 黄毛片 | 国产成人一区二区 | 精品二 | 日韩毛片在线观看 | 国产精品久久久 | 91精品国产综合久久久动漫日韩 | 国内精品视频在线观看 | 日韩成人免费视频 | 精品欧美黑人一区二区三区 | 五月天婷婷激情 | 五月婷婷视频 | 国产色视频网站 | 国产精彩视频在线观看 | 欧美黄在线观看 | 日韩精品一区二区三区中文在线 | 国产农村妇女精品一区 | 最新日韩欧美 | 青青草视频免费观看 | 国产精品久久久久久久久久妞妞 | 成人福利网| 午夜丁香视频在线观看 | 国产精品色av | 成人免费在线视频 | 日韩视频免费 | 国产精品精品视频一区二区三区 | 天天久| 精品一区二区免费视频 | 久久精品国产一区 | 国产日韩视频在线 | 国产精品夜夜夜一区二区三区尤 | 成人精品一区二区户外勾搭野战 | 成人av一区 | 久久久精品影院 | 日本不卡在线观看 | 91视频进入 |