arXiv是一个收录科学文献预印本的在线数据库,许多还未被期刊会议收录的论文会被挂到arXiv上,以证明作者论文的原创性。
我们需要阅读相关领域最新的论文,掌握一手科研动态,看看自己关注的领域的其他研究者们在做些什么研究,做到了什么样的成果。arXiv可能就是这样一种选择,它每个工作日都会更新最新的论文以供大家查阅。
于是我写了一个简单的爬虫来每天将最新的论文信息收集下来,以邮件的形式发送到自己的邮箱,以供随时查阅。
这是当天所有论文的信息列表截图,包含文章下载链接、文章标题、文章作者以及文章类别这几个要素。
每天都有几百篇论文更新,可能看标题都会觉得累,因此这里使用关键词以及所属类别进行论文的筛选,自动地挑选出符合要求的论文,还可以将论文原文下载,以附件的形式同时发送到邮箱。
首先是爬虫部分,https://arxiv.org/list/cs/pastweek 网页便是我们的目标(其他领域的只需将cs替换即可),该页面可以添加show参数来指定每页显示论文的数量,页面的结构非常清晰,爬取也非常容易,几乎没有什么反爬措施。
我们只需要将论文根据其所属领域以及关键词进行筛选即可获取我们想要的论文,比方说关注attention在计算机视觉领域的最新研究,我们可以将关键词设置为attention,将论文所属类别设置为cs.CV。
接着是邮件发送的部分,我们将包含当日所有论文信息的csv文件和感兴趣的论文pdf文件作为附件进行添加。
m=MIMEMultipart()
def add_apart(m,apart_file):
Apart=MIMEApplication(open('arxiv_paper/'+apart_file, 'rb').read())
Apart.add_header('Content-Disposition', 'attachment', filename=apart_file)
m.attach(Apart)
为了每天都能够获取这样的邮件,我们可以采取定时任务的方法来定时运行代码,Linux系统可以采取crontab命令,Windows系统则可以通过添加任务计划程序库来做到。
最后,需要完整的代码的旁友可以在后台回复「arxiv」获取。
——END——
推荐阅读