python3爬虫有道翻译

您所在的位置:网站首页 python爬取youtube视频多线程非中文自动翻译 python3爬虫有道翻译

python3爬虫有道翻译

#python3爬虫有道翻译| 来源: 网络整理| 查看: 265

python爬取有道翻译

实现原理

操作步骤

注意事项

实现原理

利用urllib包中的request对象模拟浏览器访问有道翻译服务器(发送相同格式的request)。

用urllib包中的parse来将数据转化为相同格式。

得到的相应通过编码之后,以dict形式取出翻译内容。

import urllib.request

import urllib.parse

import json

url = 'http://fanyi.youdao.com/translate?smartresult=dict&smartresult=rule'

while True:

content = input('请输入翻译内容:')

data = {}

data['i'] = content

data['from'] = 'AUTO'

data['to'] = 'AUTO'

data['smartresult'] = 'dict'

data['client'] = 'fanyideskweb'

data['salt'] = '15613765644784'

data['sign'] = '5caabbf646f6585277b7cebf45f18244'

data['ts'] = '1561376564478'

data['bv'] = '6074bfcb52fb292f0428cb1dd669cfb8'

data['doctype'] = 'json'

data['version'] = '2.1'

data['keyfrom'] = 'fanyi.web'

data['action'] = 'FY_BY_REALTlME'

data = urllib.parse.urlencode(data).encode('utf-8')

r = urllib.request.urlopen(url,data)

html = r.read().decode('utf-8')

target = json.loads(html)

print("翻译:%s"%(target['translateResult'][0][0]['tgt']))

print('-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-')

操作步骤

访问翻译页面,在一次翻译后捕捉提交方式为post的头文件,在此头文件中找到requestURL,这个是用来访问的地址。再找到form data,复制到py文件中并封装成dict,通过parse的方法将其变为服务器会接收的格式,通过URLopen方法进行一次访问,接收数据,处理数据。

328f8643a47e8272244dc43ef5a7fc61.png

注意事项

有道翻译已经做了反爬虫处理,需要将url中的_o去除,但是这样就只支持汉译英和外译汉了。汉语到其它语言还没法处理。



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3