arxiv论文一个个手动下载比较麻烦,可以借助chatgpt和迅雷来批量下载。
首先把arxiv论文的网址,保存到Excel表格中:
然后在ChatGPT中输入提示词:
你是一个Python编程专家,要写一段代码。具体步骤如下:
打开F盘的文件:URL.xlsx
读取第一列每一个单元格的内容;
截取单元格内容中最后一个”/”和“.”之间的字符,然后前面加上“https://arxiv.org/ftp/arxiv/papers/”,后面加上单元格内容中最后一个”/”后的字符,然后加上“.pdf”,构建一个pdf文件下载URL;
截取单元格内容中最后一个”/”后的字符,然后前面加上“https://arxiv.org/pdf/”,后面加上“.pdf”,构建一个pdf文件下载URL;
举个例子:
如果第一列第一行单元格的内容是:https://arxiv.org/abs/2401.17788
那么第二列第一行单元格的内容是:https://arxiv.org/ftp/arxiv/papers/2401/2401.17788.pdf
第三列第一行单元格的内容是:https://arxiv.org/pdf/2401.17788.pdf
Chatpgt给出的Python代码:
import pandas as pd
df = pd.read_excel('F:/URL.xlsx')
ftp_download_urls = []
direct_download_urls = []
for url in df.iloc[:, 0]: # 假设URL在第一列
paper_id = url.split('/')[-1]
id_parts = paper_id.split('.')
paper_id_number = id_parts[0] if len(id_parts) == 2 else paper_id # 考虑到可能没有点号
ftp_url = f'https://arxiv.org/ftp/arxiv/papers/{paper\_id\_number[:4]}/{paper\_id}.pdf'
ftp_download_urls.append(ftp_url)
direct_url = f'https://arxiv.org/pdf/{paper\_id}.pdf'
direct_download_urls.append(direct_url)
df['FTP Download URL'] = ftp_download_urls
df['Direct Download URL'] = direct_download_urls
df.to_excel('F:/URL_with_download_links.xlsx', index=False)
程序运行后,得到对应的arxiv论文的pdf下载地址,然后复制,迅雷会自动识别,批量下载:
很快下载完成: