关于爬取arXiv论坛论文并按照论文主题进行分类的办法
获得不同论文主题的arXiv论文标题,并存在自己电脑的一个文件夹里。这些论文标题可以为将来小样本机器学习作为训练集。
整个过程分为两个部分
第一:从arXiv爬取论文。
这里用到爬虫软件,推荐文章:https://zhuanlan.zhihu.com/p/86763203 这个链接里有作者写的代码,可以用作参考。
第二:将爬取的论文按照论文主题进行分类
可能新人朋友们不知道怎么看arXiv上的论文。这里给大家举几个例子:
网址一:https://arxiv.org/list/cs/pastweek?show=1000 这个网址是看最近一周的论文
网址二:https://arxiv.org/list/cs/2001 这个网址是看2020年1月份的所有论文。想看2016年12月的论文,网址的结尾就是1612。以此类推。
相比于原文章只爬取未分类,我按照主题不通进行了分类。一篇文章可能涉及几个主题,我这里只是按照同一个主题进行分类,所以可能有同一论文重复出现在不同主题下的情况。但是不影响。
代码如下:
'''分类不同主题的论文'''
def classify(a):
b1 = []
b2 = []
for i in range(len(paper)): #在表格的范围之内循环
if a in paper.loc[i, 'subjects']:
a1 = paper.loc[i, 'id']
a2 = paper.loc[i, 'title']
b1.append(a1)
b2.append(a2)
f1 = pd.DataFrame(columns=['id', 'title'])
f1['id'] = b1
f1['title'] = b2
f1.to_csv('E:/arxiv/classify/' + time.strftime("%Y-%m-%d") + a + '.csv')
for tag in set_list:
classify(tag)
完成后就可以在对应的文件夹里面找到很多个csv文档,文档的名字是主题名字,文档里呈现论文的编号和题目。