2

我正在尝试找到一种可行的方法来遍历 Google Scholar(或任何其他科学图书馆)上的所有科学论文。我不需要论文内容,只需要标题、作者、引文和摘要。

我正在寻找某种类型的库/api,它们允许我迭代和处理这些论文,以及具有高查询能力的东西。

到目前为止,我发现的唯一一个是学术性的。查询似乎很不错,但是,我看不到任何迭代所有内容的选项。

有没有其他网络抓取工具可以让我这样做?

4

2 回答 2

0

有一个来自 SerpApi的Google Scholar API ,它支持Organicciteprofileauthor结果。它可以扩展到企业级,绕过 Google 的阻止,而无需自己弄清楚。

在在线 IDE中提取有机结果和完整示例的集成示例代码:

# to scrape profile results, author:
# https://replit.com/@DimitryZub1/Scrape-Google-Scholar-Profile-Results-from-all-Pages#main.py

import json
from serpapi import GoogleScholarSearch

params = {
    "api_key": "Your SerpApi API key",
    "engine": "google_scholar",
    "q": "biology",                    # search query
    "hl": "en"                         # language
}

search = GoogleScholarSearch(params)   # where extraction happens
results = search.get_dict()            # JSON -> Python dict

for result in results["organic_results"]:
    print(json.dumps(result, indent=2))

# part of the output:
'''
{
  "position": 0,
  "title": "The biology of mycorrhiza.",
  "result_id": "6zRLFbcxtREJ",
  "link": "https://www.cabdirect.org/cabdirect/abstract/19690600367",
  "snippet": "In the second, revised and extended, edition of this work [cf. FA 20 No. 4264], two new chapters have been added (on carbohydrate physiology physiology Subject Category \u2026",
  "publication_info": {
    "summary": "JL Harley - The biology of mycorrhiza., 1969 - cabdirect.org"
  },
  "inline_links": {
    "serpapi_cite_link": "https://serpapi.com/search.json?engine=google_scholar_cite&q=6zRLFbcxtREJ",
    "cited_by": {
      "total": 704,
      "link": "https://scholar.google.com/scholar?cites=1275980731835430123&as_sdt=2005&sciodt=0,5&hl=en",
      "cites_id": "1275980731835430123",
      "serpapi_scholar_link": "https://serpapi.com/search.json?as_sdt=2005&cites=1275980731835430123&engine=google_scholar&hl=en"
    },
    "related_pages_link": "https://scholar.google.com/scholar?q=related:6zRLFbcxtREJ:scholar.google.com/&scioq=biology&hl=en&as_sdt=0,5",
    "versions": {
      "total": 4,
      "link": "https://scholar.google.com/scholar?cluster=1275980731835430123&hl=en&as_sdt=0,5",
      "cluster_id": "1275980731835430123",
      "serpapi_scholar_link": "https://serpapi.com/search.json?as_sdt=0%2C5&cluster=1275980731835430123&engine=google_scholar&hl=en"
    },
    "cached_page_link": "https://scholar.googleusercontent.com/scholar?q=cache:6zRLFbcxtREJ:scholar.google.com/+biology&hl=en&as_sdt=0,5"
  }
}
... other results
'''

如果您想从所有可用页面或某个作者的所有出版物中抓取数据,可以使用专门的将Google Scholar 历史结果抓取到 CSV、SQLite将所有 Google Scholar 个人资料抓取到我在 SerpApi 的 CSV 博客文章的作者结果。

免责声明,我为 SerpApi 工作。

于 2022-02-23T13:23:20.107 回答
0

在不知道你的具体目的的情况下,很难给出一个好的回应。

但是,科学元数据(例如标题、作者、引文)的首选位置将是CrossRef 的 API。它可以免费使用。

虽然我不知道您如何确定您的样本,但您可以,例如,获取期刊的 ISSN 以获取有关期刊论文的元数据(例如此处),或者您可以使用出版物的 DOI 来获取有关该特定论文的元数据(这里的例子)。

于 2021-01-18T10:36:57.380 回答