引言
你是否还在用老套的方式网页打开数据?你是否想要打造一个属于自己的翻译程序?
看完这篇博客实现你的梦想,打造一个属于自己的翻译器。
代码解析
首先我们要导入两个库爬虫库(requests)和json库。Requests库就不多讲了,了解爬虫的观众老爷们都懂用于爬取网络数据,Json库再这个程序的主要作用是解析爬取的json文件,达到提取数据的作用。
接下来开始我们打开百度翻译网页获取网页翻译的地址,在获取网页地址时要注意那部分或是在哪里获取有效地址。接着在网页中我们鼠标右键单机网页内任意一处弹出对话框选择“检查”选项
之后我们通过在网页中输入翻译的内容再进行下图所示的所有操作
完成上一步操作我们通过逐个点击Name列的信息查找到我们所需要得到的信息如下图所示
看到有我们想要的信息就说明我们找对地方了,我们开始点击Headers观察显示的信息如图,请求方式为post,所以我们需要找到爬虫需要的代理(User-Agent)和Form data表单。通过post请求返回爬取的数据。
到这里我们只用到了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) |
代码写完了,最后之差将代码转化为桌面程序。那么如何实现呢?
打包exe
这里我们需要安装python的另外两个第三方库pywin32和pyinstaller,安装的具体操作我们不详细说明,不懂的读者可以去百度一下。
安装完成我们要进入cmd窗口里面进入上述程序的文件夹,代码如下
程序运行完成会在代码文件夹下生成多个文件,而打包成的exe文件就存在与dist文件下。