首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >scopus关键词与引用爬行

scopus关键词与引用爬行
EN

Stack Overflow用户
提问于 2015-05-28 17:55:54
回答 1查看 2.5K关注 0票数 1

我试图从Scopus中抓取文章的数据。我有api键,可以从标准视图接收字段。

下面是一个例子:

首先是初始化(api、搜索查询和标头)

代码语言:javascript
复制
import json
import requests

api_resource = "https://api.elsevier.com/content/search/scopus?"
search_param = 'query=title-abs-key(big data)'  # for example

# headers
headers = dict()
headers['X-ELS-APIKey'] = api_key
headers['X-ELS-ResourceVersion'] = 'XOCS'
headers['Accept'] = 'application/json'

现在我可以收到文章json (例如,第一页的第一篇文章):

代码语言:javascript
复制
# request with first searching page
page_request = requests.get(api_resource + search_param, headers=headers)
# response to json
page = json.loads(page_request.content.decode("utf-8"))
# List of articles from this page
articles_list = page['search-results']['entry']

article = articles_list[0]

我可以很容易地从标准视图中获得一些主要字段:

代码语言:javascript
复制
title = article['dc:title']
cit_count = article['citedby-count']
authors = article['dc:creator']
date = article['prism:coverDate']

但是,我需要这篇文章的关键词和引文。我解决了对文章网址的附加请求关键字的问题:

代码语言:javascript
复制
article_url = article['prism:url']
# something like this:
# 'http://api.elsevier.com/content/abstract/scopus_id/84909993848'

用field=authkeywords

代码语言:javascript
复制
article_request = requests.get(article_url + "?field=authkeywords", headers=headers)
article_keywords = json.loads(article_request.content.decode("utf-8"))
keywords = [keyword['$'] for keyword in article_keywords['abstracts-retrieval-response']['authkeywords']['author-keyword']]

此方法有效,但有时缺少关键字。另外,scopus key有请求的限制(每周10000),而且这种方式不是最优的。

,我能让它更简单吗?

下一个关于引文的问题。为了找到文章的引文,我再次发送一个请求,使用文章‘’eid‘字段:

代码语言:javascript
复制
citations_response = requests.get(api_resource + 'query=refeid(' + str(article['eid']) + ')', headers=headers)
citations_result = json.loads(citations_response.content.decode("utf-8"))
citations = citations_result['search-results']['entry']  # list of citations

所以,我可以得到引文,而不需要额外的请求?

EN

回答 1

Stack Overflow用户

发布于 2016-10-04 14:00:58

只有在完整视图的情况下,才能使用单个查询获得引用。(只限于订户)

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/30513808

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档