python3爬虫有道翻译 |
您所在的位置:网站首页 › python爬取youtube视频多线程非中文自动翻译 › python3爬虫有道翻译 |
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方法进行一次访问,接收数据,处理数据。 注意事项 有道翻译已经做了反爬虫处理,需要将url中的_o去除,但是这样就只支持汉译英和外译汉了。汉语到其它语言还没法处理。 |
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |