一次性下载CVPR/ICCV/ECCV会议所有论文并提取论文标题重命名pdf文件

转自: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的同学有点帮助。 

 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值