Вытащить цитаты для бумаги от ученого Google, используя R

Используя google-scholar и R, я бы хотел выяснить, кто цитирует конкретную статью.

Существующие пакеты (как, например, стипендиат) ориентированы на анализ H-индекса: статистику по исследователю.

Я хочу дать целевой документ в качестве входных данных. Пример URL будет:

https://scholar.google.co.uk/scholar?oi=bibs&hl=en&cites=12939847369066114508

Затем R должен почистить эти страницы цитат (Google Paginates их) для статьи, возвращая массив статей, которые ссылаются на цель (до 500 или более цитат). Затем мы искали ключевые слова в заголовках, табулировали журналы, цитировали авторов и т. Д.

Любые подсказки относительно того, как это сделать? Или это сводится к буквальному очищению каждой страницы? (что я могу сделать с копированием и вставкой для разовых операций).

Похоже, это должно быть вообще полезной функцией для таких вещей, как заполнение систематических обзоров, так что кто-то, добавивший это в пакет, вполне может увеличить свой H:-)

2 ответа

Хотя существует множество доступных API Google, API на основе Google Scholar недоступен. Итак, хотя разработка веб-краулера на страницах ученых Google может быть несложной, я не знаю, в какой степени это может быть незаконным. Проверить это.

В качестве альтернативы вы можете использовать стороннее решение, такое как SerpApi. Это платный API с бесплатной пробной версией. Мы обрабатываем прокси, решаем капчи и анализируем для вас все богатые структурированные данные.

Пример кода Python (также доступен в других библиотеках):

      from serpapi import GoogleSearch

params = {
  "api_key": "secret_api_key",
  "engine": "google_scholar",
  "hl": "en",
  "cites": "12939847369066114508"
}

search = GoogleSearch(params)
results = search.get_dict()

Пример вывода JSON:

      {
  "position": 1,
  "title": "Lavaan: An R package for structural equation modeling and more. Version 0.5–12 (BETA)",
  "result_id": "HYlMgouq9VcJ",
  "type": "Pdf",
  "link": "https://users.ugent.be/~yrosseel/lavaan/lavaanIntroduction.pdf",
  "snippet": "Abstract In this document, we illustrate the use of lavaan by providing several examples. If you are new to lavaan, this is the first document to read … 3.1 Entering the model syntax as a string literal … 3.2 Reading the model syntax from an external file …",
  "publication_info": {
    "summary": "Y Rosseel - Journal of statistical software, 2012 - users.ugent.be",
    "authors": [
      {
        "name": "Y Rosseel",
        "link": "https://scholar.google.com/citations?user=0R_YqcMAAAAJ&hl=en&oi=sra",
        "serpapi_scholar_link": "https://serpapi.com/search.json?author_id=0R_YqcMAAAAJ&engine=google_scholar_author&hl=en",
        "author_id": "0R_YqcMAAAAJ"
      }
    ]
  },
  "resources": [
    {
      "title": "ugent.be",
      "file_format": "PDF",
      "link": "https://users.ugent.be/~yrosseel/lavaan/lavaanIntroduction.pdf"
    }
  ],
  "inline_links": {
    "serpapi_cite_link": "https://serpapi.com/search.json?engine=google_scholar_cite&q=HYlMgouq9VcJ",
    "cited_by": {
      "total": 10913,
      "link": "https://scholar.google.com/scholar?cites=6338159566757071133&as_sdt=2005&sciodt=0,5&hl=en",
      "cites_id": "6338159566757071133",
      "serpapi_scholar_link": "https://serpapi.com/search.json?as_sdt=2005&cites=6338159566757071133&engine=google_scholar&hl=en"
    },
    "related_pages_link": "https://scholar.google.com/scholar?q=related:HYlMgouq9VcJ:scholar.google.com/&scioq=&hl=en&as_sdt=2005&sciodt=0,5",
    "versions": {
      "total": 27,
      "link": "https://scholar.google.com/scholar?cluster=6338159566757071133&hl=en&as_sdt=2005&sciodt=0,5",
      "cluster_id": "6338159566757071133",
      "serpapi_scholar_link": "https://serpapi.com/search.json?as_sdt=2005&cluster=6338159566757071133&engine=google_scholar&hl=en"
    },
    "cached_page_link": "https://scholar.googleusercontent.com/scholar?q=cache:HYlMgouq9VcJ:scholar.google.com/&hl=en&as_sdt=2005&sciodt=0,5"
  }
},
...

Ознакомьтесь с документацией для получения более подробной информации.

Отказ от ответственности: я работаю в SerpApi.

Другие вопросы по тегам