利用简单的爬虫获取CV顶会论文

学术小伙伴每年都有很多顶会论文要追,为了能够获得第一手的顶会论文资源,就用小爬虫爬取CV顶会论文并打包下载,可以说是爬虫在手,天下我有~

爬虫就是request,正则分解网页信息,获取自己感兴趣的元素标签,需要的话就把资源下载下来就ok了,整个程序写得也很简单,直接上代码。

import re# 正则

import requests

import urllib

import os

import pathlib

import filecmp

import shutil

def loadPDF():

    # URL 信息

    eccvR = requests.get('https://openaccess.thecvf.com/ECCV2018')

    eccvData = eccvR.text

    print('url is https://openaccess.thecvf.com/ECCV2018')

    # 解析页面的pdf元素

    link_list = re.findall(r"(?<=href=\").+?pdf(?=\">pdf)|(?<=href=\').+?pdf(?=\">pdf)", eccvData)

    name_list = re.findall(r"(?<=href=\").+?2018_paper.html\">.+?</a>", eccvData)

    number = 0

    cnt = 0

    num = len(link_list)

    print('paper links num=',num)

    print('paper name num=',len(name_list))

    # 存储pdf的本地文档

    localDir = 'C:\Papers\ECCV2018\\'

    print('local Dir is'+localDir)

    if not os.path.exists(localDir):

        # 创建文档

        print('create new local path.')

        os.makedirs(localDir)

    # 选择前三份pdf文件进行下载

    downloadNum = 3

    print('Download number is 3')

    if downloadNum<1:

        print('no Download pdf')

    while cnt < downloadNum:

        url = link_list[cnt]

        # 从url元素解析pdf文件名

        file_name = name_list[cnt].split('<')[0].split('>')[1]

        # 将文件名中的符号去掉

        file_name = file_name.replace(':','_')

        file_name = file_name.replace('\"','_')

        file_name = file_name.replace('?','_')

        file_name = file_name.replace('/','_')

        file_name = file_name.replace('&','_')

        file_name = file_name.replace('%','_')

        file_name = file_name.replace('_',' ')

        # 下载PDF文件

        print('['+str(cnt)+'/'+str(num)+"]  Downloading -> " + localDir + file_name+'.pdf')

        try:

            urllib.request.urlretrieve('http://openaccess.thecvf.com/'+url, localDir+file_name+'.pdf')

        except Exception:

            continue

        cnt = cnt + 1

    print("all download finished")

def main():

    print('Please check your system is networking~')

    url = 'https://openaccess.thecvf.com/ECCV2018'

    loadPDF()

if __name__ =='__main__':

    main()

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值