Профиль Google Scholar очищает PHP

Я хотел бы удалить публикации из профиля ученого Google с SimpleHtmlDom.

У меня есть скрипт для удаления проектов, но проблема в том, что я могу удалить только те проекты, которые показаны.
Когда я использую URL, как это

$ html-> load_file (" http://scholar.google.se/citations?user=Sx4G9YgAAAAJ");

там показаны только 20 проектов. Я могу увеличить количество, когда я изменяю URL

$ html-> load_file (" https://scholar.google.se/citations?user=Sx4G9YgAAAAJ&hl=&view_op=list_works&pagesize=100");

путем установки атрибута "размер страницы". Но проблема в том, что 100 - это максимальное количество публикаций, что может показать веб-страница. Есть ли какой-нибудь способ, как вырезать все проекты из профиля?

2 ответа

Решение

Вы не можете получить все проекты одновременно, но вы можете получить 100 проектов одновременно, затем получить еще 100 и так далее, вот URL

https://scholar.google.com/citations?user=Sx4G9YgAAAAJ&hl=&view_op=list_works&cstart=100&pagesize=100

В приведенном выше URL сосредоточиться на атрибуте cstart, скажем, вы уже захватили 100 проектов, так что теперь вы будете вводить cstart=100 и захватить еще 100 список, а затем cstart=200 и так до тех пор, пока вы не получите все публикации.

Надеюсь это поможет

Вам необходимо передать дополнительный параметр разбивки на страницы в URL-адрес запроса.

cstart- Параметр определяет смещение результата. Он пропускает указанное количество результатов. Используется для нумерации страниц. (например, 0 (по умолчанию) - первая страница результатов, 20 - вторая страница результатов, 40 - третья страница результатов и т. д.).

pagesize- Параметр определяет количество возвращаемых результатов. (например, 20 (по умолчанию) возвращает 20 результатов, 40 возвращает 40 результатов и т. д.). Максимальное количество возвращаемых результатов - 100.

Итак, ваш URL должен выглядеть так:

https://scholar.google.com/citations?user=WLBAYWAAAAAJ&hl=en&cstart=100&pagesize=100

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

Пример кода PHP (доступен также в других библиотеках) для получения второй страницы результатов:

      require 'path/to/google_search_results';

$query = [
  "api_key" => "secret_api_key",
  "engine" => "google_scholar_author",
  "hl" => "en",
  "author_id" => "WLBAYWAAAAAJ",
  "num" => "100",
  "start" => "100"
];

$search = new GoogleSearch();
$results = $search->json($query);

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

      "articles": [
  {
    "title": "Geographic localization of knowledge spillovers as evidenced by patent citations",
    "link": "https://scholar.google.com/citations?view_op=view_citation&hl=en&user=WLBAYWAAAAAJ&cstart=100&pagesize=100&citation_for_view=WLBAYWAAAAAJ:HGTzPopzzJcC",
    "citation_id": "WLBAYWAAAAAJ:HGTzPopzzJcC",
    "authors": "AB Jaffe, M Trajtenberg, R Henderson",
    "publication": "Patents, citations, and innovations: a window on the knowledge economy, 155-178, 2002",
    "cited_by": {
      "value": 18,
      "link": "https://scholar.google.com/scholar?oi=bibs&hl=en&cites=8561816228378857607",
      "serpapi_link": "https://serpapi.com/search.json?cites=8561816228378857607&engine=google_scholar&hl=en",
      "cites_id": "8561816228378857607"
    },
    "year": "2002"
  },
  {
    "title": "IPR, innovation, economic growth and development",
    "link": "https://scholar.google.com/citations?view_op=view_citation&hl=en&user=WLBAYWAAAAAJ&cstart=100&pagesize=100&citation_for_view=WLBAYWAAAAAJ:70eg2SAEIzsC",
    "citation_id": "WLBAYWAAAAAJ:70eg2SAEIzsC",
    "authors": "AGZ Hu, AB Jaffe",
    "publication": "Department of Economics, National University of Singapore, 2007",
    "cited_by": {
      "value": 17,
      "link": "https://scholar.google.com/scholar?oi=bibs&hl=en&cites=7886734392494692167",
      "serpapi_link": "https://serpapi.com/search.json?cites=7886734392494692167&engine=google_scholar&hl=en",
      "cites_id": "7886734392494692167"
    },
    "year": "2007"
  },
  ...
]

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

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

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