亚洲精品久久久中文字幕-亚洲精品久久片久久-亚洲精品久久青草-亚洲精品久久婷婷爱久久婷婷-亚洲精品久久午夜香蕉

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

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

瀏覽:56日期: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 編程
相關文章:
主站蜘蛛池模板: 成人国产精品久久久免费 | 久久精品国产一区二区 | 午夜影院一区二区三区 | 久久青草免费97线频观 | 久香草视频在线观看免费 | 国产一起色一起爱 | 国产精品区网红主播在线观看 | 天干天干天啪啪夜爽爽99 | 成人精品免费视频 | 国产成人mv免费视频 | 亚洲综合精品成人啪啪 | 高清国产精品久久 | 日本特黄特黄刺激大片 | 手机在线看黄 | 日韩精品福利在线 | 亚洲人成网站在线观看青青 | 欧美成人午夜视频免看 | 国产精品免费拍拍1000部 | 免费一级成人免费观看 | 成人午夜大片免费7777 | 日韩国产免费一区二区三区 | 国产三级三级三级三级 | 国产精品二 | 国产亚洲精品久久久久91网站 | 国产精品久久久久9999小说 | 影视先锋影音在线中文字幕 | 日本精品久久久一区二区三区 | 亚洲精品国产第一区二区图片 | 日韩欧美国产精品第一页不卡 | 亚洲乱码一二三四区国产 | 伦在线 | 一级特黄国产高清毛片97看片 | 伊人久久精品一区二区三区 | 亚洲网站黄色 | 国产高清无专砖区2021 | www.婷婷.com | 成年视频xxxxx免费播放软件 | 久久综合久久久久 | 日韩在线视频不卡一区二区三区 | 久久精品国产亚洲片 | 成人夜色视频在线观看网站 |