進來,想搞個python 版本的google翻譯。
看了下網頁,是乙個get請求,不禁大喜,深入研究後,發現這裡攜帶的引數其中包含乙個「tk」 應該為token的縮寫吧,其用到搜尋的字元通過js函式的計算的到。
可是未曾入坑js,看上去頗為燒腦。而我又是乙個求甚解的人,想要等了解js後再去突破。
還有什麼其他方式,選擇ios客戶端看看有什麼突破。
使用charles 抓包發現,也是get,並且不包含『tk』引數,遂又大喜,
倒弄半天,發現請求下來的資料並不和客戶端抓包資料相同。
思考十秒,認為ios客戶端必然是做了處理,不是簡單的對結果的排版,而是對結果進行了運算處理。
指令碼請求的資料都是包含」definition_id」:」m_en_us1226340.004」
這種字段,而客戶端抓包卻看的到實實在在的明文翻譯。
*****! 想來這樣是可以的。一定是**出了問題。
等等,我是如何請求資料的
import requests
get_url=''
data=
headers=
result = requests.get(get_url, params=data, headers=headers)
print result.content
print result.url
機制的我發現這樣的data 資料有問題,因為python 中是不允許相同的key值存在的!
使用print result.url 確實證明了,get請求的引數缺少了。
直接寫入get請求中不是不可以,但是引數太長,非常的醜陋,不利於維護,也不專業。
參考了文件
這裡明確的說明可以使用list 表達相同的key 對應不同的value.
payload =修改這幾個相同的key為乙個列表r = requests.get(『 params=payload)
print(r.url)
"dt":["t","rmt","bd","rms","qca","ss","md","ld","ex",]
Python3呼叫Google翻譯
import urllib.request from handlejs import py4js def open url url headers req urllib.request.request url url,headers headers response urllib.request.u...
google翻譯python呼叫js實現
encoding utf 8 import urllib import urllib.request import urllib.parse import requests import execjs class google def init self self.lan dict self.hea...
Google翻譯介面 PHP API
google翻譯php介面 官成文 2009 03 28 注意 如果翻譯文字為utf 8編碼,則要刪去mb convert encoding函式 class google api translator public url public text 翻譯文字 public out 翻譯輸出 funct...