Python版有道翻譯

做過爬蟲的朋友應該很通俗易懂,話不多說 亮代碼吧。

需要用到的模塊:

  • Urllib
  • time
  • hashlib
  • random
  • json

Code:

#encoding:utf-8
#__Author__ = Search__
#_PlugName_ = YouDaoDict

import urllib.request
import urllib.parse
import time
import random
import hashlib
import json

headers = {}
headers['Referer']='http://fanyi.youdao.com/'
headers['User-Agent']='Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/47.0.2526.108 Safari/537.36 2345Explorer/8.7.0.16013'

timestamp = int(time.time() * 1000) + random.randint(0,10)

content = input('請輸入您需要翻譯的內容:')

u = "fanyideskweb"
d = content
f = str(timestamp)
c = "rY0D^0'nM0}g5Mm1z%1G4"

sign = hashlib.md5((u + d + f + c).encode('utf-8')).hexdigest()

data = {
    'i': content,
    'from': 'AUTO',
    'to': 'AUTO',
    'smartresult': 'dict',
    'client': 'fanyideskweb',
    'salt': timestamp,
    'sign': sign,
    'doctype': 'json',
    'version': '2.1',
    'keyfrom': 'fanyi.web',
    'action': 'FY_BY_CLICK',
    'typoResult': 'true'
}

data = urllib.parse.urlencode(data).encode('utf-8')
request = urllib.request.Request(url='http://fanyi.youdao.com/translate_o?smartresult=dict&smartresult=rule&sessionFrom=https://www.google.com/',method='POST',data=data,headers=headers)
response = urllib.request.urlopen(request)
result_str = response.read().decode('utf-8')
result_dict = json.loads(result_str)
print (result_dict["translateResult"][0][0]['tgt'])

Pyhon3基本自帶. 沒有的同學可以通過pip安裝。

Search_
最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容

  • 1 前言 作為一名合格的數據分析師,其完整的技術知識體系必須貫穿數據獲取、數據存儲、數據提取、數據分析、數據挖掘、...
    whenif閱讀 18,103評論 45 523
  • Android 自定義View的各種姿勢1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 173,076評論 25 708
  • Spring Cloud為開發人員提供了快速構建分布式系統中一些常見模式的工具(例如配置管理,服務發現,斷路器,智...
    卡卡羅2017閱讀 134,869評論 18 139
  • Linux文件系統的特征: 文件名可以使用除"/"之外的任意字符,但總長度不能超過255個 Linux嚴格區分大小...
    Nzkalhbxx閱讀 138評論 0 0
  • 一招半式學到手,這個夏天還用愁?魔都最近天氣進入一種癲狂模式,后面高溫天氣就像吃了炫邁一樣,根本停不下來 涅的...
    姚小蝶閱讀 269評論 0 0