最近帮人下载文献,需要把近很多年的全部论文下载下来。
简单学习了一下爬虫
参考了文章: 下载一个页面的所有 pdf 文件.
主要看了使用正则表达式匹配的方法,以下代码来自参考文章,可直接运行
#!/usr/bin/env python
import re
import urllib.request as request
baseurl = 'http://www.math.pku.edu.cn/teachers/qiuzy/ds_python/courseware/'
with request.urlopen(baseurl) as response:
html = response.read().decode('gb2312')
pdfurls = re.findall(r'[^\"]*.pdf', html, re.I)
for name in pdfurls:
request.urlretrieve(baseurl+name, name)
print('下载{}成功'.format(name))
对于我这个URL 稍作调试后结果如下,该程序需要在程序文件夹界面新建一个 命名为fulltext的文件夹,下载结果就在fulltext里。
其原因是name前面有fulltext//
因为不想处理,而且建个文件夹也挺好就这样了。
因为有的文件下载会出错,对于出错做了简单处理。最后,效果还可以。
#!/usr/bin/env python
import re
import urllib.request as request
import time
baseurl =