最近遇到一个需求,需要下载300多张电子发票,只给我300多个下载链接。所以决定用刚学到的python知识解决这个问题,避免逐个点击下载链接的尴尬。先用我个人博客中插入的5个pdf文档来调试代码。
我博客的about页面Publications部分可以点击[PDF]下载相应的pdf文档,现把5个文档的链接复制下来:
https://kar98.tech/download/wei2018.pdf
https://kar98.tech/download/wei2017.pdf
https://kar98.tech/download/zhu2017.pdf
https://kar98.tech/download/bi2018.pdf
https://kar98.tech/download/Patent-A wavelength-adjustable laser system.pdf
在桌面新建一个“file”文件夹,在其中新建一个“path.txt”文档,把5个链接复制进去。
然后打开Pycharm,开始写代码。
import requests
import re
file = open("C:/Users/titi/Desktop/file/path.txt") #打开存放链接的TXT文档
while 1:
line = file.readline() #逐行读链接
if not line:
break
image_url = line
r = requests.get(image_url) #创建响应对象
path = re.sub("https://kar98.tech/download/","C:/Users/titi/Desktop/file/",line)
# 通过re模块的搜索和替换功能,生成下载文档的保存地址
path = re.sub('\n','',path) #删除path末尾的换行符'\n'
with open(path,"wb") as f:
f.write(r.content) #将响应对象的内容写下来
file.close()
点击运行,即可把5个文档下载到桌面“file”文件夹中。