需求:文件存在Tomcat8某个目录下,通过Python3.10将此目录下所有文件下载到本地。
准备工作:Tomcat某个开放目录路径下面如果没有默认的index文件,则会列出该目录下的所有文件,方便程序员参考。但因为安全方面的因素,Tomcat取消了此默认设置。为了方便自己写程序时查阅,我们可以手动修改此默认设置。在%CATALOG_HOME%/conf/web.xml 中,查找如下代码段或搜索listings关键字,把蓝色字体改成如下true即可。
<init-param>
<param-name>listings</param-name>
<param-value>true</param-value>
</init-param>
代码编写a.py,简单就使用idle -> File -> New File:
import requests, re
import tkinter
import tkinter.messagebox
print('开始下载文件。。。。。。')
folder = 'http://101.34.213.238:8080/test/'
response = requests.get(url=folder)
# print(response.text)
pattern = re.compile(r'<a.*?><tt>(.*?)</tt></a></td>', re.I)
lst = pattern.findall(response.text)
# print(result)
# lst = ['a.jar', 'b.jar', 'abc.txt', 'rar.exe', 'mods.rar']
for f in lst:
url = folder + f
response = requests.get(url=url)
# 将爬取的内容写入xxx.html文件
with open(f, 'wb') as file:
file.write(response.content)
print(f + '下载完成')
tkinter.messagebox.showinfo('提示信息','所有文件下载完成!')
可以将程序打包成exe文件,安装pyinstaller
pip install pyinstaller
进入a.py目录执行命令
Pyinstaller -F -w -i a.ico a.py
在生成的dist目录中有一个a.exe文件,可双击直接运行。哇,比exe4j方便一光年!
另:Python tkinter对话框的简单学习代码
python弹窗——tkinter.messagebox学习总结_鹿鹿有为啊的博客-CSDN博客_python tkinter 弹窗