在[知识路书]项目中,咱们但愿可以根据用户感兴趣的领域为用户推动该领域的最新文章。用户能够在浏览这些文章摘要的过程当中,将感兴趣的文章加入到阅读列表中。html
咱们要作的主要有两个步骤:python
获取Arxiv.org上某个领域的最新论文(因为arxiv的国内访问速度很慢,咱们使用一个脚本天天凌晨得到最新论文并存储在本地数据库中);数据库
将文章的标题进行机翻;json
arixv提供了获取文章的接口api,咱们直接根据感兴趣的领域调用便可,不一样领域的代码能够在这里得到(如cs.AI, cs.OS)。api
获取某领域最新的文章,并对结果进行解析:url
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)
以后咱们便能得到某篇文章的一些基本信息了:翻译
如文章标题:code
paper_title = parse.entries[0]['title']
文章摘要:htm
paper_summary = parse.entries[0]['summary_detail']['value']
这里咱们调用有道的api对文章的标题进行机翻,方便用户的阅读:blog
有道翻译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": "知识的路线图" } ] ] }