GoogleAPIを使ってサイト検索結果をリスト化するお話

「単純にwgetで検索結果を取得すれば?」ともあるがスクレイピングとかで弾かれる時があるそうな
お行儀よくGoogle様提供のAPIにて取得を試みることに。

ここではGoogleAPIの「Custom Search API」にて検索結果をリスト化してみた。

必要事項は

  • Custom Search API
  • APIキーの準備
  • Search engine IDの準備

の3点
あとはAPIキーとSearch engine IDを使ってスクリプトを作って実行する

Custom Search APIの有効化

まずはAPIのサイトに行き、
https://console.developers.google.com/apis/dashboard
2018y03m05d_001119516.png
「APIとサービスの有効化」を押下する
するとこんな画面が表示されて
2018y03m05d_001245159.png
「Custom Search API」と検索するかそのページをスクロールして「Custom Search API」を見つけ、押下する
2018y03m05d_001455574.png
すると下図のような画面が表示される
2018y03m05d_001710141.png
ここで「有効にする」を押下すると、下記画面に移るが、
2018y03m05d_001839566.png
同時に
「このページを表示するには、プロジェクトを選択してください。」とも言われた
2018y03m05d_002009826.png
どのような意味での「プロジェクト」なのか不明なのだが、とにかく作ることにした。っで「作成」ボタンを押下

次に下記画面に移り、「プロジェクトID」が勝手に振られ、そのプロジェクトIDに名前を付ける。
2018y03m05d_002143567.png

そうしたらまた元の画面に戻るのであるが、先ほどまであった「プロジェクトを選択」が消えて、先ほど作ったプロジェクトが表記された。
どうやらプロジェクトにAPIライブラリが紐づくのかな?
2018y03m05d_002549726.png

ここで再度「有効にする」を押下したら下記画面に移った
2018y03m05d_003026815.png

APIキーの作成

画面に「この API を使用するには、認証情報が必要になる可能性があります。開始するには、[認証情報を作成] をクリックしてください。」とあるので、「認証情報を作成」ボタンを押下
「プロジェクトへの認証情報の追加」を言われ、「必要な認証情報の種類を決定します」には目的の「Custom Search API」を指定して「必要な認証情報」を押下
するとまた画面が代わり、APIキーが表示される
2018y03m05d_003820837.png
「完了」ボタンを押下すると先ほど作ったAPIキーが表示されたリストが現れる。作ったキーにはマークが付いているが、
それをmouse overすると下記のような注意が表示される。
2018y03m05d_004111264.png

これでAPIキーの入手が成功した

Search engine IDの準備

https://cse.google.com/manage/all
「検索エンジン」というのが良く分からないのだが、、どうやら検索対象のURLを複数まとめれて、それに対して検索が出来るみたい。
インターネット全体に対して検索したい場合、どうすればいいのか分からない...
検索したい「サイト」が100、200のオーダーならリストを作って登録可能で最大5,000まで可能みたい

ただ、、、そんなに登録しても検索して取得できるのは一度に10件のみ...

phpで検索を行ってみる

使用するのは「Custom Search API」
本番はむしろこちらからでしょうか
参照サイト http://tanakayu.hatenablog.jp/entry/2015/02/22/133158

Custom Search APIのドキュメントはhttps://developers.google.com/custom-search/?hl=jaにある


トップ   編集 添付 複製 名前変更     ヘルプ   最終更新のRSS
Last-modified: 2018-03-05 (月) 17:51:22 (106d)