昨天收到老陈的sb任务,让从一个Excel的文件里下载pdf文件,本以为手动下载就好了,然后打开一看600左右的链接,完了下载下来还要改名字,工作量太大,想的网上找一个程序用,但是发现自己不太懂编程,然后用的还是3,别人现成的是2,改来改去总是有问题,所以就自己参考别人的编了一个很low的半自动程序,也算是自己做的第一个程序,也同时是生活中用到第一个自己做的有用的程序,成就感满满,哈哈哈哈哈哈哈哈哈。不过这个程序优化的地方多了去了,只是自己现在学的还少,要搞起来还是有点小麻烦,过一阵子有空了,再优化一下,争取作为我第一个GitHub的开源。
- 要手动输入第几个sheet,可用循环改为自动,另外能做到每个sheet结束自动保存为一个文件夹就好了。
- 能做成一个小程序就更好了,输入文件夹名字放到指定目录下,自动搜索下载链接,并下载。
- 能实时记录下载到第几个就好了,万一中间出错就还得人工校对
#打开Excel
import xlrd
import requests
tarPath=r"C:\Users\Administrator\Desktop\laochen\新建文件夹"#保存路径
data = xlrd.open_workbook("文件名.xls")
sheet = data.sheets()[2] #这里【】改变的是第几个sheet(从零开始)
nrows = sheet.nrows
print (nrows)
for rownum in range(2,523):#第一行是列名,所以从1开始即第二行读起
title=sheet.cell(rownum,1).value#第二列的数据
title=title.replace("/","")#替换不符合文件命名的字符
link=sheet.cell(rownum,8).value#网址链接
#print (link)
fileName=title+'_'+str(rownum)+'.pdf' #保存的文件名
#print (fileName)
res = requests.get(link)
playfile = open(fileName,'wb')
playfile.write(res.content)
print(res)
try:
res.raise_for_status()
except Exception as exc:
print("wrong")