首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >用Python抓取百度翻译内容并打造自己的翻译脚本!

用Python抓取百度翻译内容并打造自己的翻译脚本!

作者头像
云飞
发布2018-09-13 17:18:13
1.9K0
发布2018-09-13 17:18:13
举报

英文不好一直是我的一个短板,尤其是在学习代码的阶段,经常需要查询各种错误,很是苦逼,一直就想自己做个翻译的脚本,省去打开网页的时间,但是查询之后发现网上的教程都是百度翻译改版之前的爬虫,不得已只好自己上手了!

目标:制作自己的翻译脚本

url: http://fanyi.baidu.com/basetrans

前期准备:pycharm、python3.6、库:requests、json

思路:

  • 首先找到百度翻译的网页,抓到以下内容:该包内有输出文字的判断,比如输入中文自动翻译为英文,则返回“en”,反之则返回“cn”。
  • 构造post访问url的data数据,用到3个参数:"query"、"from"、"to",from和to参数就是你输入的内容和返回的内容的语种,我们上一步已经获取到相关的参数了,所以用个判断分别返回to参数即可

Lan就是抓包后返回的内容,直接提取出来

  • 然后注意,因为是访问移动端的url,所以用到的UA不能是电脑的ua了,需要自行查找手机端的ua,这里提供给大家一个:

{"User-Agent":"Mozilla/5.0(Linux; Android 5.1.1; Nexus 6 Build/LYZ28E) AppleWebKit/537.36 (KHTML, likeGecko) Chrome/63.0.3239.84 Mobile Safari/537.36"}

  • 将需要翻译的内容提交后,网站返回的数据是json格式的内容,当翻译的文字大于1个时,会有每个关键字的翻译,这里也可以抓取下。

比如输入“python学习交流群: 542110741”后返回内容:

Josn内容如下:

{'errno': 0, 'from': 'zh', 'to': 'en','trans': [{'dst': 'Python learning communication group: 542110741','prefixWrap': 0, 'src': 'python学习交流群: 542110741', 'relation': [], 'result': [[0, 'Python learningcommunication group: 542110741', ['0|32'], [], ['0|32'], ['0|46']]]}], 'dict':[], 'keywords': [{'means': ['巨蛇,大蟒'], 'word': 'python'}, {'means': ['study', 'learn', 'emulate','learning'], 'word': '学习'}, {'means': ['exchange', 'interflow', 'interchange','alternating', 'AC (alternating current)', 'communion'], 'word': '交流'}]}

我们可以分别抓取'trans'和'keywords'的值,我们所需要的内容,就在这两个值里。

好了,直接上代码和运行结果

好了,内容到这里就完了~如果对大家有帮助,就关注下呗

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2018-03-11,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 云飞学python 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
机器翻译
机器翻译(Tencent Machine Translation,TMT)结合了神经机器翻译和统计机器翻译的优点,从大规模双语语料库自动学习翻译知识,实现从源语言文本到目标语言文本的自动翻译,目前可支持十余种语言的互译。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档