最近应导师要求,下载一些论文,但是一篇篇去点击下载,比较麻烦,尤其是批量下载时,也太累了。然后,手动写了些代码,可以自动拉一些论文下来。以下 是方法介绍。在文章末尾附了git源码。
1.ICCV,CVPR,IJCAI论文下载
ICCV和CVPR两大会议的影响力比较大,下载这两个会议论文的人也比较多。有官方网址统一提供下载,因此下载这两大会议的论文还是比较简单。通常只需要打开下载网址:(http://openaccess.thecvf.com/ ),可以看到系列论文的下载列表。如果是下载少数几篇,建议手动完全可以分分钟解决这个问题。但是批量下载,还是建议参考以下方法。
# coding:utf-8
import re
import requests
import urllib
import os
import threading
import pdb
import os
def getIJCAIPapers(ctype,year,minnum,maxnum):
url = 'https://www.ijcai.org/proceedings/2018/%04d.pdf'
# maxnum = 870
localDir = 'E:\\' + ctype + year + '\\'
for i in range(minnum,maxnum+1):
urlpath = url % (i)
file_path = localDir+'%04d.pdf'% (i)
if not os.path.exists(file_path):
os.makedirs(file_path)
print('[' + str(i) + '/' + str(maxnum) + "] Downloading -> " + file_path)
try:
urllib.request.urlretrieve(urlpath, file_path)
except Exception as err:
print(urlpath,' error :',err)
continue
print("all download finished")
def get_CVPR_ICCV_Papers(ctype,year):
# get web context
r = requests.get('http://openaccess.the