学习爬虫地二天,无聊中想起通过爬虫来爬取金山词霸的翻译网页,然后通过pyinstaller进行封装成一个可以在windows中可执行的exe文件
1.这是爬取数据的代码,用户可以循环输入自己想要翻译的语句进行翻译(为什么是循环,因为不循环在制作成exe的时候总是窗口总是一闪而过,循环是为了让窗口持续,这个bug现在我还没有解决的方案)
import requests
import json
'''
需求:访问金山词霸在线翻译,获取翻译结果
1.构造url
2.请求头
3.请求体
4.发送请求获取数据输出
'''
class King(object):
def __init__(self, n):
self.url = 'http://fy.iciba.com/ajax.php?a=fy'
self.headers = {
"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/81.0.404"
}
# 构造请求参数
self.post_data = {
'f': 'auto',
't': 'auto',
'w': n
}
# 发送请求
def requests_post(self):
response = requests.post(url=self.url, data=self.post_data, headers=self.headers)
# print(response.content.decode())
return response.content.decode()
# 解析数据
def parse_data(self, data):
# 把响应数据转化为字典
dict_data = json.loads(data)
if "out" in data:
content = dict_data['content']['out']
else:
content = dict_data['content']['word_mean'][0]
print(content)
def run(self):
# 调用发送请求,并获取数据
data = self.requests_post()
# 调用解析数据方法
self.parse_data(data)
if __name__ == '__main__':
n = input("请输入您要翻译的文字:")
king = King(n)
king.run()
2.下载pyinstaller打包工具
这个我用的是pyinstaller打包工具可以通过cmd进行下载
pip3 install pyinstaller -i http://mirrors.aliyun.com/pypi/simple --trusted-host mirrors.aliyun.com
由于是第三方库,我用的镜像进行的下载
3.下载图片
这个可以将文件封装之前设置exe的图标,当然也可以省略这一步,图片的类型必须是.ico格式的,可以将喜欢的图片在网站中转换---->转换网址
4.pyinstall的使用
-F , -onefile: 指明该选项,将会生成一个总的exe文件,所有的文件都会被添加到这一个中。
-icon=: 将file.ico添加为exe文件的图标(可以自定义,注意为ico文件,否则格式不正确的话会出错的)。
5.打包
打包之前需要把写的程序与要用的图片放在一个文件夹中
通过cmd定位到这个文件路径
pyinstall -F -i 050912140585_0timg.ico 词霸.py
原创文章 2获赞 5访问量 202
关注
私信
展开阅读全文
作者:邋遢的小胖子