【问题标题】:Requests from Scopus API is only writing the first page of the PDF来自 Scopus API 的请求仅写入 PDF 的第一页
【发布时间】:2019-10-23 01:00:22
【问题描述】:

我正在尝试从 Elsevier API 下载全文 PDF 版本。我能够以 XML、JSON 和纯文本格式下载整篇论文。因此,API 密钥工作正常。但是,我无法下载 PDF 格式的全文。当我尝试更改标题以接受 PDF 文件时,它只写文章的第一页

我尝试了很多不同的 DOI,但都返回了文章的第一页。

这是我用来访问论文的请求命令

import requests
r = requests.get('http://api.elsevier.com/content/article/doi/10.1016/0038-1098(87)90044-5?httpAccept=application/pdf', headers=headers)

我正在使用以下代码编写

with open('test.pdf','wb') as f:
    f.write(r.content)

没有错误但test.pdf只是文章的第一页。

【问题讨论】:

  • 此请求的文档在哪里?有关于 PDF 的信息吗?
  • 这是一个关于请求的有用链接:realpython.com/python-requests 我可以使用此命令从其他期刊下载 PDF 文章,但不知何故此 api 没有给出预期结果
  • 我在询问 API 文档,以及用于获取数据的请求/url - http://api.elsevier.com/...http://api.elsevier.com/... 的文档在哪里?有关于 PDF 的信息吗?
  • 哦!对困惑感到抱歉。这是 API 的文档。 dev.elsevier.com/documentation/ArticleRetrievalAPI.wadl链接中有关于PDF的信息
  • 在文档中我多次发现此文本仅适用于 PDF 格式:For PDF documents setting this flag to true will result in being redirected to the Author Manuscript version of the resource whenever the requestor is NOT entitled to the full content of the PDF. 所以对 PDF 有一些限制。您应该询问 API 管理员

标签: python python-requests text-mining scopus


【解决方案1】:

默认情况下,文章检索 API (https://dev.elsevier.com/documentation/ArticleRetrievalAPI.wadl) 允许对 XML 或 JSON 格式的文章进行全文检索,而不是 PDF 格式(开放访问内容除外,其中提供所有格式的全文)。对于非 OA 内容,默认只有 PDF 的第一页可用。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-05-09
    • 1970-01-01
    • 2011-06-16
    • 1970-01-01
    • 1970-01-01
    • 2018-02-01
    相关资源
    最近更新 更多