Вытащить цитаты для бумаги от ученого 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.