Open20

Google Scholar ID について調べてみた (2021.01.01)

英大研究員H英大研究員H

Google Scholar API を使いこなす前に
Google Scholar ID をどう取得するのか調べてみた
(2021.01.01) まだ Qiita 記事が無いので手探りでやっていきます

調べる前の予測としては

  • Google Search API を使った手法
  • Web スクレイピングを使った手法
  • 文献管理ソフト (Mendeley, ReadCube, Zotero) を使った手法

があると考えています

英大研究員H英大研究員H

目的としては

  • 著者 ID
  • タイトル
  • トピック
  • パブリケーション年

を簡単に取得出来る API の調査

最終的には JavaScript で上記のリソースを取得出来る様に実装してみたい

英大研究員H英大研究員H

google scholar api

と検索した時に出てきた記事、動画

Google

API / Package --- ライブラリ

API / Package --- 無料から有料まで

Video

University / College (.edu)

Forum / Article

Scraping / Text-Data Mining

Google Chrome Extension

Google Scholar が駄目な理由


SERP = Search Engine Results Pages

英大研究員H英大研究員H

npm

(2021.01.01) たったの 9 Hits で特に使われているライブラリで weekly downloads 500 程

  1. https://www.npmjs.com/package/google-search-results-nodejs (Weekly Downloads: 400 ~ 1000)
  2. https://www.npmjs.com/package/google-scholarly (Weekly Downloads: ~ 50)
  3. https://www.npmjs.com/package/scholarly (Weekly Downloads: ~ 50)
  4. https://www.npmjs.com/package/gatsby-source-google-scholar (Weekly Downloads: ~ 50)
  5. https://www.npmjs.com/package/google-scholar-extended (Weekly Downloads: ~ 50)
  6. https://www.npmjs.com/package/bibtex-search (Weekly Downloads: ~ 50)
  7. https://www.npmjs.com/package/google-scholar-link (Weekly Downloads: ~ 50)
  8. https://www.npmjs.com/package/google-scholar (Weekly Downloads: ~ 50)
  9. https://www.npmjs.com/package/oghma (Weekly Downloads: ~ 50)
英大研究員H英大研究員H
英大研究員H英大研究員H

Google's Programmable Search Engine

Overview  |  Programmable Search Engine  |  Google Developers

For everyone, there are two choices,

  • Standard Search Element
    • Free
    • Client side javascript
  • Custom Search JSON API
    • 100 search queries per day for free
    • $5 per 1000 queries, up to 10k queries per day.
    • Client side or server side JSON API

Standard Search Element

Programmable Search Element Control API  |  Programmable Search Engine

Custom Search JSON API

Custom Search JSON API  |  Programmable Search Engine

英大研究員H英大研究員H

Custom Search JSON API

Custom Search JSON API  |  Programmable Search Engine

下記の記事を2まで完全にトレース

👇

Custom Search APIを使ってGoogle検索結果を取得する - Qiita

上記のセクションの 3 から勝手が違ってきます

  1. Custom Search Engine(CSE)の取得

「検索するサイト」は "https://scholar.google.com/" で

ウェブ全体を検索をOFFにしたままにしておいて下さい

  1. Google API Client Libraries(Python)のインストール

ここでGoogle API Client Libraries (JavaScript) のインストール
API Client Libraries  |  Google Developers

JavaScript 用 と Nodejs 用がありました

JavaScript 用
https://github.com/google/google-api-javascript-client

Nodejs 用
https://github.com/googleapis/google-api-nodejs-client

英大研究員H英大研究員H

あれ❓

npm でそういえば検索したけど、このライブラリ無かったなあ(上記参照)と思ってぐぐったらありました
googleapis - npm

桁が違う😲

Weekly Downloads: 375,273

皆さんもコレ使って下さい

英大研究員H英大研究員H

さてさて

先ずは、 Express generator で簡易アプリを作っていきます

Express application generator

Terminal
$ npx express-generator
$ npm i
$ npm i nodemon googleapis
package.json
"scripts": {
    "start": "node ./bin/www",
    "test": "nodemon ./bin/www"
  }

これで準備オーケー

eslint や babel は一旦忘れて goolgeapis で触っていきます

英大研究員H英大研究員H

何故か、このままの初期設定だと
例えば "memory" と検索すると著者が最初に出てきて、論文が出てこない
著者が一ページ目に出てくる

これは避けたい

ちょっと本家 ( https://scholar.google.com/ )
の様に検索出来ないので
次は下記の

Semantic Scholar API

を弄ってみる

英大研究員H英大研究員H

Semantic Scholar API


Semantic Scholar Papers (2021.01.01)

180 million

https://pages.semanticscholar.org/about-us

英大研究員H英大研究員H

先ずは、 Express generator で簡易アプリを作っていきます

Express application generator

Terminal
$ npx express-generator
$ npm i
$ npm i nodemon googleapis
package.json
"scripts": {
    "start": "node ./bin/www",
    "test": "nodemon ./bin/www"
  }

これで準備オーケー

eslint や babel は一旦忘れて goolgeapis で触っていきます

英大研究員H英大研究員H

Google API (Custom Search) の仕様が

site:https://scholar.google.com/ "トピック"

と検索しても

どうしても著者名でしか検索されないので
(文献タイトルでは検索されないので)

JavaScript は諦め
Python でウェブスクレイピングを目指します

英大研究員H英大研究員H