1500字范文,内容丰富有趣,写作好帮手!
1500字范文 > python如何爬有道翻译_Python爬虫爬有道翻译

python如何爬有道翻译_Python爬虫爬有道翻译

时间:2022-11-09 00:03:30

相关推荐

python如何爬有道翻译_Python爬虫爬有道翻译

python爬取有道翻译

实现原理

操作步骤

注意事项

实现原理

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

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

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

import urllib.request

import urllib.parse

import json

url = '/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方法进行一次访问,接收数据,处理数据。

注意事项

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

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。