フツーって言うなぁ!

フツーなサラリーマンのフツーな嘆き.

Google Scholarについての調査

(注)2014年6月当時の情報です
また,このエントリは必要に応じて加筆・修正される可能性があります.

Google Scholarとは,Googleが運営している,論文などの文献を検索するための検索エンジンです.

これをスクレイピングするにあたっていろいろ調べていたのですが, Web上には情報が明らかに不足していたので,自分が研究する上で必要だった情報をまとめておこうかと思います.

概要

Google Scholarでは,すべての論文に,"cluster_id"と呼ばれる,論文を一意に特定するIDが振られています.

1つの論文は複数のWebサイトにある可能性があり,Google Scholarではそれらを1つの検索結果として表しています.
1つの論文を識別するのがcluster_idで,cluster_idごとに存在する複数のWebサイトを「バージョン」と呼んでいます.

cluster_idを使うことで,論文の同一性判定や,引用関係の取得ができます.

また,Google Scholarには,大きく分けて,

  • 検索結果ページ: クエリに対する検索結果を表示するページ

  • 被引用文献提示ページ: ある論文を引用している論文のリストを提示するページ.検索結果の'引用元'と書かれたリンクから進める

  • 関連論文提示ページ: ある論文に関連している論文のリストを提示するページ.検索結果の'関連論文'と書かれたリンクから進める

  • 論文詳細ページ関連: ある論文のバージョンのリストを提示するページ.検索結果の'全xxxバージョン'と書かれたリンクから進める

の4種類のページがあります.

f:id:lethe2211:20140601214049p:plain

ある論文が引用している論文のリスト(参考文献リスト)を取得することは,Google Scholarから得られる情報だけでは難しいようです.
難儀ですね.

クエリパラメータ

ここで挙げるのは,自分が調査の上で知ったものだけです.
検索結果を見て「おそらくこうだろう」と思ったものであり,公式の情報ではないので,正しさは一切保証しません.

検索結果ページ関連

パラメータ 入力の種類 意味 備考
q(必須?) 文字列 入力されるクエリ語 半角スペースは,'+'に変換される
start 整数 検索結果の何番目から表示するか '0'が最初の検索結果を表す
as_ylo 整数 この年度以降の論文のみを表示
as_yhi 整数 この年度以前の論文のみを表示
scisbd ブール値(0 or それ以外) 0なら関連度順,それ以外なら登録日からの新しい順に表示
lr 文字列 検索する論文の言語 'lang_ja'なら日本語

被引用文献提示ページ関連

パラメータ 入力の種類 意味 備考
cites(必須?) 整数 論文のcluster_id
start 整数 検索結果の何番目から表示するか '0'が最初の検索結果を表す
as_ylo 整数 この年度以降の論文のみを表示
as_yhi 整数 この年度以前の論文のみを表示
scisbd ブール値(0 or それ以外) 0なら関連度順,それ以外なら登録日からの新しい順に表示
lr 文字列 検索する論文の言語 'lang_ja'なら日本語

論文詳細ページ関連

パラメータ 入力の種類 意味 備考
cluster 整数 論文のcluster_id

その他

パラメータ 入力の種類 意味 備考
hl 文字列 使用する言語 英語は'en',日本語は'ja'
num 整数 表示する検索結果の件数 デフォルトは'10'か'20'(設定できる)

関連論文提示ページについては,'q'パラメータがあるのはわかりましたが,これが何を表しているのかはよくわかりませんでした.


Google Scholarですが,本家のGoogle検索に比べると,検索履歴を保存できない,上位1000件までしか結果を表示できないなど,機能的に劣る部分もあるようです.*1

今,ある論文から被引用論文を集めてくるクローラを作ろうとしているのですが,Google側へのアクセス回数制限に引っかかるらしく,なかなかうまくいっていません…

もっと実装力高めていきたいですね.

参考

http://scholar.google.com/intl/en/scholar/about.html

*1:昔のGoogle検索と考えるのが自然かも