【附代码】CVPR 2024论文及其附件批量获取下载


为学习CVPR 2024的论文,希望能够将论文电子版保存到本地阅读。然而逐个点击下载着实费时费力,因此想到通过网络爬虫的方法对论文的PDF文件和相关附件批量获取下载,遂以此篇笔记记录方法和心得总结。限于理论学习有限,此番操作可能仍存在极大的优化空间。
声明:本文内容仅作学习用,如有侵权或复现等问题,恳请告知,欢迎讨论。资源是官方开源的,因此可以直接访问官网获取: CVPR 2024 open access repository

代码

下载文件需要一段时间,着急的朋友可以先行下载,等待过程中如有兴趣,欢迎再来看这篇记录此后部分的碎碎念…

import requests
import os

from selenium import webdriver
from selenium.webdriver.common.by import By

headers = {
   
    'User-Agent': 'Mozilla/5.0 (Windows; U; Windows NT 6.1; en-us) AppleWebKit/534.50 (KHTML, like Gecko) Version/5.1 Safari/534.50'}

# Get html from website
if not os.path.exists('./website.html'):
    response_html = requests.get(url='https://openaccess.thecvf.com/CVPR2024?day=all', headers=headers)
    with open('./website.html', 'w', encoding='utf-8') as web_html:  
        web_html.write(response_html.text)

# Get the item
driver = webdriver.Chrome()
driver.get(os.path.abspath('./website.html'))
for paper in driver.find_elements(By.CLASS_NAME, 'ptitle'):
    # locate
    node_ = paper.find_element(By.XPATH, r'following-sibling::dd[2]')
    pdf_url = 'https://openaccess.thecvf.com' + node_.find_element(By.XPATH, './a[1]').get_attribute('href')[10:]
    print(f'locate pdf from link:\n{
     pdf_url}')
    try:
        if node_.find_element(By.LINK_TEXT, 'supp').get_attribute('href')[-4:] == '.zip':
            zip_url = 'https://openaccess.thecvf.com' + node_.find_element(By.LINK_TEXT, 'supp').get_attribute('href')[10:]
            print(f'locate zip from link:\n{
     zip_url}')
        else:
            zip_url = None
    except:
        continue

    # download
    paper_title = pdf_url[54:-20]
    root_ = os.getcwd()
    file_root = os.path.join(root_, paper_title)
    file_name = paper_title[:35]
    
    os.makedirs(file_root, exist_ok=True)
    os.chdir(file_root)
    response_pdf = requests.get(url=pdf_url, headers=headers)
    if 
### CVPR 2024 论文代码与资源 CVPR(Computer Vision and Pattern Recognition)作为计算机视觉领域的重要会议,其每年发布的论文通常会伴随相应的开源实现。对于CVPR 2024的相关论文及其对应的GitHub仓库,可以采取以下方法来查找: #### 方法一:官方链接 CVPR官网通常会在会议结束后提供一个专门的页面用于汇总所有被接收论文以及它们的代码链接。可以通过访问CVPR 2024官方网站并导航至“Accepted Papers”部分获取更多信息[^1]。 #### 方法二:社区整理 许多研究者和开发者会对每届CVPR中的重要工作进行总结,并将其发布到个人博客或者GitHub上。例如,《Big Data Resources》这类集合了大量机器学习、数据挖掘等领域资料的仓库可能也会收录CVPR 2024的内容[^3]。 #### 方法三:特定主题搜索 如果关注的是某些具体方向的研究成果,则可以直接利用关键词加上限定条件来进行检索。“Mask RCNN”的源码库就是一个很好的例子,它专注于实例分割任务,在类似的细分领域内寻找可能会更加高效[^2]。 #### 示例脚本 - 自动化爬取工具 下面给出一段简单的Python程序用来自动化查询指定年份下的cvpr文章关联git地址: ```python import requests from bs4 import BeautifulSoup def fetch_cvpr_papers(year=2024): url = f"http://openaccess.thecvf.com/CVPR{year}.py" response = requests.get(url) soup = BeautifulSoup(response.text, 'html.parser') paper_links = [] for link in soup.find_all('a'): href = link.get('href') if "/content_CVPR_" + str(year) in href: title = link.string.strip() pdf_link = "http://openaccess.thecvf.com/" + href.replace(".html", ".pdf") github_search_url = f"https://github.com/search?q={title}+repo%3A*&type=repositories" paper_links.append((title, pdf_link, github_search_url)) return paper_links papers = fetch_cvpr_papers(2024)[:5] for idx,(t,p,g)in enumerate(papers,start=1): print(f"{idx}. Title:{t}\n Paper Link:{p}\n Github Search URL:{g}") ``` 此段代码通过解析OpenAccess平台上的HTML文档提取出了前几篇论文的名字连同他们的PDF下载路径还有基于这些名字构建出来的针对Github搜索引擎入口网址列表。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值