爬取有道翻译的小测试2020-03-24

import urllib.request
import json

#此程序是一个用爬虫爬取有道翻译的小测试
content = input("请输入需要翻译的内容:")

#url = 'http://fanyi.youdao.com/translate_o?smartresult=dict&smartresult=rule'
#有道反爬虫机制,去掉_o即可
url = 'http://fanyi.youdao.com/translate?smartresult=dict&smartresult=rule'

#python采用post提交表单给网站
#Form data就是post提交的内容
#下面就是新建一个post字典,来模仿向网站提交内容

data = {}
data['i'] = content
data['doctype'] = 'json'

data['from'] = 'AUTO'
data['to'] = 'AUTO'
data['smartresult'] = 'dict'
data['client'] = 'fanyideskweb'
data['version'] = '2.1'
data['keyfrom'] = 'fanyi.web'
data['action'] = 'FY_BY_REALTlME'

data['salt'] = '15850203967372'
data['sign'] = '2ffbbbd53b1759630e11d0c30326fc05'
data['ts'] = '1585020396737'
data['bv'] = '42160534cfa82a6884077598362bbc9d'

#转码
data = urllib.parse.urlencode(data).encode('utf-8')
# 发送请求,带data就是post,不带data是get
response = urllib.request.urlopen(url, data)
#解码
html = response.read().decode('utf-8')

target = json.loads(html)

#print(html)
print("有道翻译结果:%s" % (target['translateResult'][0][0]['tgt']))

你可能感兴趣的:(爬取有道翻译的小测试2020-03-24)