NOTICE: By continued use of this site you understand and agree to the binding Terms of Service and Privacy Policy.
// ==UserScript== // @name arXiv下载PDF文件自动重命名为论文名 // @name:en arXiv downloaded PDF files, automatically renames them to paper titles // @namespace Tampermonkey // @version 0.1.1 // @description 能够直接把下载的文件名默认修改为论文名,并且符合Windows文件命名规范。会在搜索页面以及单个论文界面产生一个下载论文的超链接,点击即可。[2023-12-17修改版] // @description:en It can directly modify the downloaded file name to the thesis name by default and conform to the Windows file naming standard. Will generate a hyperlink to download the paper on the search page as well as the individual paper screen, click on it. [modified version 2023-12-17]. // @author Aspen138 // @match *://arxiv.org/abs/* // @match *://arxiv.org/search/* // @icon https://arxiv.org/favicon.ico // @grant none // @license AGPL-3.0-or-later // ==/UserScript== //原作者的CSS选择器有点问题。 //建议装上SelectorGadget浏览器扩展,直接边调试边改代码。 (function() { 'use strict'; const url = location.pathname,webTitle = document.title var downloadName = '',downloadPath = '' var papertitle = '',papertime = '' if(url.search('/abs/')!=-1){ papertitle = document.querySelector("#abs > h1").innerText downloadPath = document.querySelector(".download-pdf") papertime = document.querySelector(".dateline").innerText.replace("[Submitted on ","").replace("]","") downloadName = renamePaperFile(papertitle,papertime) addDownloadButton(downloadPath,downloadName,document.querySelector("#abs-outer > div.extra-services > div.full-text")) } if(url.search('/search/')!=-1){ var paperlist = document.querySelectorAll("#main-container > div.content > ol > li") for(let paper in paperlist){ papertitle = paperlist[paper].children[1].innerText papertime = paperlist[paper].querySelector("p.is-size-7").innerText.split(";")[0].replace("Submitted ","") downloadName = renamePaperFile(papertitle,papertime) downloadPath = paperlist[paper].children[0].children[0].children[1].children[0].href+'.pdf' addDownloadButton(downloadPath,downloadName,paperlist[paper].children[0]) } } function addDownloadButton(downloadPath,downloadName,element){ var button = document.createElement("a"); //创建一个input对象(提示框按钮) button.id = "downloadPaper"; button.textContent = "下载论文(重命名)"; button.setAttribute("href", downloadPath) button.setAttribute("download", downloadName) element.append(button); } function renamePaperFile(name,time){ var downloadName = name.replace(': ',':') downloadName = downloadName.replace(':',':') downloadName = downloadName.replace('?','?') downloadName = downloadName.replace('/',' OR ') downloadName = downloadName.replace('"','“')+'.pdf' return '['+time+']'+downloadName } })();