专栏首页算法与编程之美python|python实现汉译英

python|python实现汉译英

////欢迎点击「算法与编程之美」↑关注我们!

本文首发于微信公众号:"算法与编程之美",欢迎关注,及时了解更多此系列文章。

引言

你是否还在用老套的方式网页打开数据?你是否想要打造一个属于自己的翻译程序?

看完这篇博客实现你的梦想,打造一个属于自己的翻译器。

代码解析

首先我们要导入两个库爬虫库(requests)和json库。Requests库就不多讲了,了解爬虫的观众老爷们都懂用于爬取网络数据,Json库再这个程序的主要作用是解析爬取的json文件,达到提取数据的作用。

接下来开始我们打开百度翻译网页获取网页翻译的地址,在获取网页地址时要注意那部分或是在哪里获取有效地址。接着在网页中我们鼠标右键单机网页内任意一处弹出对话框选择“检查”选项

之后我们通过在网页中输入翻译的内容再进行下图所示的所有操作

完成上一步操作我们通过逐个点击Name列的信息查找到我们所需要得到的信息如下图所示

看到有我们想要的信息就说明我们找对地方了,我们开始点击Headers观察显示的信息如图,请求方式为post,所以我们需要找到爬虫需要的代理(User-Agent)和Form data表单。通过post请求返回爬取的数据。

到这里我们只用到了requests库接下来我们就要用到json库了,爬取返回的数据需要用到json.loads()函数处理,得到如下图所属的信息。

注:json.loads()函数的作用:将已编码的 JSON 字符串解码为 Python 对象。

在这里我们可以看到这里面有我们输入翻译的内容和结果。我们最后就通过索引列表字典和列表的下标返回翻译结果。

完整的代码如下图所示(此程序代码运行只能由中文翻译成英文)

#导入需要用到的库request库爬取网络数据,json库转换文件格式import requestsimport jsonwhile True: string=input("请输入待翻译的内容:") #百度翻译的网址 url="https://fanyi.baidu.com/transapi" #构建头部,构建form表单数据发送post请求 headers={"User-Agent": "Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N)AppleWebKit/537.36 (KHTML, like Gecko) Chrome/72.0.3626.121 Mobile Safari/537.36"} data={ "from": "zh", "to": "en", "query":string, "transtype": "realtime", "simple_means_flag": "3", "sign": "198772.518981", "token": "65430217bbbc3c3c3e8eee164650cefd" } response=requests.post(url=url,data=data,headers=headers) html=response.content.decode() #得到的html是json文件格式的内容,所以之后用json提取数据 html=json.loads(html) rep=html["data"][0]["dst"] print("翻译的结果:",rep)

代码写完了,最后之差将代码转化为桌面程序。那么如何实现呢?

打包exe

这里我们需要安装python的另外两个第三方库pywin32和pyinstaller,安装的具体操作我们不详细说明,不懂的读者可以去百度一下。

安装完成我们要进入cmd窗口里面进入上述程序的文件夹,代码如下

程序运行完成会在代码文件夹下生成多个文件,而打包成的exe文件就存在与dist文件下。

总结

希望大家喜欢这篇博客,如果正在看博客的你也觉得博客不错,就点赞留言转发吧。谢谢大家关注。

如果您对某些算法有困惑,欢迎下方留言,我们将第一时间为大家提供博客阐述算法思想。

拓展阅读:

深入理解遗传算法(一)

深入理解遗传算法(二)

从1到100求和学算法思维(一)

从1到100求和学算法思维(二)

从1到100求和学算法思维(三)

从1到100求和学算法思维(四)

从1到100求和学算法思维(五)

从1到100求和学算法思维(六)

where2go 团队


微信号:算法与编程之美

温馨提示:点击页面右下角“写留言”发表评论,期待您的参与!期待您的转发!

本文分享自微信公众号 - 算法与编程之美(algo_coding),作者:官学琦

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2019-05-10

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 解决java RabbitMQ初次启动发送端basicPublish阻塞问题

    https://blog.csdn.net/asd1098626303/article/details/77849562

    算法与编程之美
  • 深入理解位操作( 一)

    上面这些知识应该是大家都已经了解的,那么接下来便问大家这些操作到底有什么作用?难道仅仅是为了做一些简单的位运算?

    算法与编程之美
  • 编程基础|如何解决编程中的代码错误问题

    我们在编写代码的过程中会遇到许许多多的错误,这个时候我们怎么去发现并修改这些错误呢?就例如我们在IDEA中编写java代码时所遇到的错误,我们怎么以最高的效率去...

    算法与编程之美
  • 【刘文彬】EOS多节点组网:商业场景分析以及节点启动时序

    原文链接:https://www.cnblogs.com/Evsward/p/eos-boot.html

    圆方圆学院
  • Python pickle的使用pickle简介实例参考资料

    pickle模块是对Python对象结构进行二进制序列化和反序列化的协议实现,就是把Python数据变成流的形式。

    致Great
  • Go 语言变量作用域

    作用域为已声明标识符所表示的常量、类型、变量、函数或包在源代码中的作用范围。 Go 语言中变量可以在三个地方声明: 函数内定义的变量称为局部变量 函数外定义的变...

    李海彬
  • Kali 2.0 ISO镜像文件泄漏,大伙可以提前尝鲜了(含下载地址)

    相信大家一定对后天即将发布的Kali 2.0非常期待,然而今天有消息Kali2的ISO镜像文件泄露了!笔者在Google上搜索发现了一个Kali2.0 Sana...

    FB客服
  • 设计模式之装饰者模式(Decorator Pattern)问题提出引出装饰者模式定义装饰者模式实现装饰者模式总结与分析

    装饰者模式可以做到在不修改任何底层代码的情况下,给对象增加的新的方法。 首先,我们通过对一个现实问题的模拟分析,了解什么是装饰者模式以及装饰者模式的作用。

    desperate633
  • 斯坦福CS231N深度学习与计算机视觉第六弹:神经网络结构与神经元激励函数

    大数据文摘
  • 神威·太湖之光获戈登·贝尔奖,中国超算软硬兼施实现零的突破

    【新智元导读】北京时间今日凌晨 4:20 时许美国盐湖城 SC16大会上,我国自主研发的超算系统“神威·太湖之光”继日前蝉联TOP 500世界第一殊荣后,一举拿...

    新智元

扫码关注云+社区

领取腾讯云代金券