赞
踩
转自:https://blog.csdn.net/lcz200/article/details/80813988
计算机视觉领域会议近年来论文接收数量暴增,论文多得看不过来。偶尔想起来,会兴致勃勃去下载个几篇看看。但每次看都要去官网下载,挺麻烦的。为何不直接把论文全部爬下来,有空时直接翻出来看?这篇博客要干的就是这个事情。
以防万一有同学看到最后发现该博客解决不了自己问题,这里先说明一下,以下的所有操作都是在ubuntu下进行的,windows下不能直接用,但是可以参考一下。
1. 写脚本,爬论文。
说到写爬论文脚本,有些同学可能会觉得有点麻烦。其实爬某个网页下的指定格式的文件并不麻烦。比如cvpr 2018年的论文所在网站为http://openaccess.thecvf.com/CVPR2018.py,这个爬论文的脚本只需一行代码:
wget --level=1 --recursive --no-parent --accept pdf,PDF http://openaccess.thecvf.com/CVPR2018.py
直接将这行代码贴在终端中运行或者将这行代码写在一个.sh脚本中运行都可以。运行完后会在当前目录下生成一个目录"openaccess.thecvf.com",cd进去看会发现所有的论文都在“openaccess.thecvf.com/content_cvpr_2018/papers ”目录中了,相关的补充材料也会被一并爬下来,保存在“openaccess.thecvf.com/content_cvpr_2018/Supplemental ”目录下。执行ls命令会看到所有的论文都下载好了。
但是有个问题很烦人,就是pdf文件的名字并不是我们想要的论文标题。难道我们每次想看论文时都得打开一个pdf来看这篇文章是干嘛的吗?更好的方式当然是直接从pdf文件名就能看出论文大概讲的是什么东西(比如做detection的文章大多题目都会有detection这个字眼),这样我们可以随心所欲地选择自己想看的主题相关的论文。
2. 提取论文标题,用它重命名pdf文件
由于要获取pdf标题,这边需要先装一下叫PyPDF2的东西,安装方法很简单:
sudo pip install PyPDF2
安装完后,将下面的代码负责到rename_pdf_using_title.py文件中,运行即可:
- import os
- from PyPDF2 import PdfFileWriter, PdfFileReader
- from shutil import copy2
-
- src_dir = '/home/XXX/download/cvpr2018_papers/openaccess.thecvf.com/content_cvpr_2018/papers'
- des_dir = '/home/XXX/download/cvpr2018_papers/openaccess.thecvf.com/content_cvpr_2018/papers_new'
-
- if not os.path.exists(des_dir):
- os.makedirs(des_dir)
-
- if os.path.exists(src_dir):
- dirs = os.listdir(src_dir)
- for dirc in dirs:
- pdf_reader = PdfFileReader(open(os.path.join(src_dir, dirc), 'rb'))
- titlec = pdf_reader.getDocumentInfo().title
- if titlec.find('/')!=-1: #文件名中的斜杠'/'会和目录标识符冲突,因此将其转为'-'
- print(titlec)
- titlec2 = titlec.replace('/','-')
- print(titlec2)
- titlec = titlec2
- copy2(os.path.join(src_dir, dirc), os.path.join(des_dir, titlec) + '.pdf')
- else:
- print("Dir does not exist!")
运行完后到des_dir下ls一下,可以看到所有的pdf文件都命名好了:
希望对喜欢屯paper的同学有点帮助。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。