这学期学习了应随这门课,老师在主页上放了很多课程pdf,但是一个个下载非常麻烦,所以我写了一个python爬虫来下载这些pdf。
首先打开网页源代码,然后放到和main.cpp同一个目录下的txt文件中:这里的命名是knapsack.txt,这样避免了使用request库。
然后就可以写代码了:
#encoding=utf-8
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\"" ##用re库匹配其中的文件名
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()
然后运行就可以了