【问题标题】:Google Scholar profile scrape PHPGoogle Scholar 个人资料抓取 PHP
【发布时间】:2018-03-14 16:56:48
【问题描述】:

我想用 SimpleHtmlDom 从谷歌学者档案中删除出版物。

我有用于抓取项目的脚本,但问题是,我只能抓取显示的项目。
当我使用这样的 url 时

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

只显示了 20 个项目。我可以在更改网址时增加数字

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

通过设置“pagesize”属性。但问题是,100 是出版物的最大数量,网页能够显示什么。 有什么方法可以从个人资料中删除所有项目吗?

【问题讨论】:

  • 也许有,也许没有。您将不得不探索并找出答案。

标签: php web-scraping simple-html-dom google-scholar


【解决方案1】:

您不能一次获得所有项目,但您可以一次获得 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 等等,直到获得所有的出版物。

希望对你有帮助

【讨论】:

    【解决方案2】:

    您必须将额外的分页参数传递给请求 url。

    cstart - 参数定义结果偏移量。它跳过给定数量的结果。它用于分页。 (例如,0(默认)是结果的第一页,20 是结果的第二页,40 是结果的第三页,等等)。

    pagesize - 参数定义要返回的结果数。 (例如,20(默认)返​​回 20 个结果,40 返回 40 个结果,等等)。返回的最大结果数为 100。

    所以,您的网址应该如下所示:

    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"
      },
      ...
    ]
    

    查看documentation了解更多详情。

    免责声明:我在 SerpApi 工作。

    【讨论】:

      猜你喜欢
      • 2021-04-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-01-02
      • 2012-07-11
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多