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


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

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

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

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

  • Python应用  | Python实现汉译英_html

接着通过在网页中输入翻译的内容再进行下图所示的所有操作

Python应用  | Python实现汉译英_数据_02

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

Python应用  | Python实现汉译英_html_03

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

Python应用  | Python实现汉译英_json_04

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

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

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

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


#导入需要用到的库request库爬取网络数据,json库转换文件格式

import requests

import json

while 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)


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

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

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

Python应用  | Python实现汉译英_html_05

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

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


微信号:算法与编程之美          

Python应用  | Python实现汉译英_json_06


长按识别二维码关注我们!


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