我是靠谱客的博主 风趣石头,最近开发中收集的这篇文章主要介绍Python爬虫爬有道翻译,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

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去除,但是这样就只支持汉译英和外译汉了。汉语到其它语言还没法处理。

最后

以上就是风趣石头为你收集整理的Python爬虫爬有道翻译的全部内容,希望文章能够帮你解决Python爬虫爬有道翻译所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(53)

评论列表共有 0 条评论

立即
投稿
返回
顶部