先写一个下载单个链接到本地的函数
import requests
import time
def resp(url, file_path): # url为网站上的下载链接,file_path为要下载到的本地链接
r = requests.get(url)
with open(file_path, 'wb') as f:
f.write(r.content)
f.close()
再从网页链接中寻找规律,在这个例子中,可以发现,网页下载链接和时间有关,那么就可以根据时间多次运行我们的resp函数
def downloadfuture(yue=12, ri=31):
for i in range(1, ri + 1):
try:
if len(str(i)) < 2:
i = '0' + str(i)
if len(str(yue))<2:
yue = '0' + str(yue)
url = '链接共同特征'+str(yue) + '-' + str(i) + '.zip'
file_path = '链接共同特征'+ str(yue) + '-' + str(i) + '.zip'
resp(url, file_path) #运行resp函数
except: #爬虫一般过程中可能会被卡,为了避免这种情况,使用time.sleep歇息一秒,再继续
time.sleep(1)
continue
这样子我就可以通过定义好月份和天数下载该月所有的文档