这学期学习了应随这门课,老师在主页上放了很多课程pdf,但是一个个下载非常麻烦,所以我写了一个python爬虫来下载这些pdf。 ![在这里插入图片描述](https://img-blog.csdnimg.cn/b6d2c00c027f486e9768d8344ae9376a.png?x-oss-process=image/watermark,type_ZHJvaWRzYW5zZmFsbGJhY2s,shadow_50,text_Q1NETiBAbGRjMTUxMw==,size_20,color_FFFFFF,t_70,g_se,x_16) 首先打开网页源代码,然后放到和main.cpp同一个目录下的txt文件中:这里的命名是knapsack.txt,这样避免了使用request库。 ![在这里插入图片描述](https://img-blog.csdnimg.cn/e8901a20ee5e40edbb7ac0aa4e390c29.png?x-oss-process=image/watermark,type_ZHJvaWRzYW5zZmFsbGJhY2s,shadow_50,text_Q1NETiBAbGRjMTUxMw==,size_20,color_FFFFFF,t_70,g_se,x_16) 然后就可以写代码了:
import re
import urllib.request
a=''
ls=[]
f=open('knapsack.txt',encoding='utf-8')
la=f.read().split('\n')
for stra in la:
b = r"\"asptextbook.*?\.pdf\""
pattern=re.compile(b)
res=pattern.findall(stra)
ls.extend(res)
print(ls)
headers = { 'User-Agent':'Mozilla/5.0' }
orgurl='https://www.math.pku.edu.cn/teachers/zhangfxi/homepage/'
for i in ls:
url=orgurl+i[1:-1]
print(url)
urllib.request.urlretrieve(url, r'C:/Users/...'+i[1:-1])
f.close()
然后运行就可以了
|