【技术博客】获取Arxiv的新Paper

目标

在[知识路书]项目中,我们希望能够根据用户感兴趣的领域为用户推进该领域的最新文章。用户可以在浏览这些文章摘要的过程中,将感兴趣的文章加入到阅读列表中。

我们要做的主要有两个步骤:

  1. 获取Arxiv.org上某个领域的最新论文(由于arxiv的国内访问速度很慢,我们使用一个脚本每天凌晨获得最新论文并存储在本地数据库中);

  2. 将文章的标题进行机翻;

实现

获取最新文章

arixv提供了获取文章的接口api,我们直接根据感兴趣的领域调用即可,不同领域的代码可以在这里获得(如cs.AI, cs.OS)。

获取某领域最新的文章,并对结果进行解析:

query_str = 'cat:' + field
query = 'search_query=%s&sortBy=lastUpdatedDate&start=%i&max_results=%i' % (query_str,0,results_per_iteration)
with urllib.request.urlopen(base_url + query) as url:
	response = url.read()
parse = feedparser.parse(response)

之后我们便能获得某篇文章的一些基本信息了:

如文章标题:

paper_title = parse.entries[0]['title']

文章摘要:

paper_summary = parse.entries[0]['summary_detail']['value']

调用有道Api机翻

这里我们调用有道的api对文章的标题进行机翻,方便用户的阅读:

有道翻译api的url为

http://fanyi.youdao.com/translate?&doctype=json&type=&i=

为了实现英文->中文转换,type处应为EN2ZH_CN ,我们将要翻译的信息放在i处即可;

返回信息为

{
    "type": "EN2ZH_CN",
    "errorCode": 0,
    "elapsedTime": 1,
    "translateResult": [
        [
            {
                "src": "Knowledge Roadmap",
                "tgt": "知识的路线图"
            }
        ]
    ]
} 

参考

http://www.arxiv-sanity.com/

https://www.cnblogs.com/fanyang1/p/9414088.html

猜你喜欢

转载自www.cnblogs.com/lebway/p/12976967.html