Google スプレッドシート
スプレッドシートで検索を使えます。ページのソースにコードの断片を含むウェブサイトを一覧表示する関数と、クエリ全体を新しいシートにエクスポートするメニューを用意しています。無料でコピーでき、お使いのAPIトークンで動作します。
=PUBLICWWW(A1) websites whose page source contains the query in A1 =PUBLICWWW(A1, 50, "url,rank") 50 rows, only the url and rank columns =PUBLICWWW_COUNT(A1) how many websites match
セットアップ
- スプレッドシートを開き、拡張機能 > Apps Scriptを選択します。
-
Code.gsの内容を、リポジトリにあるCode.gsの内容に置き換えて保存します。 - スプレッドシートを再読み込みします。PublicWWWメニューが表示されたらSet API tokenを選択し、アカウントページで発行したトークンを貼り付けます。APIの利用には有料プランが必要です。
-
初回のみ、Googleからスクリプトの承認を求められます。スクリプトが読み書きするのはこのスプレッドシートだけで、接続先は
api.publicwww.comのみです。
トークンはスクリプトのプロパティに保存されるため、このスプレッドシートのスクリプトを編集できる人なら誰でも読み取れます。編集権限の共有には注意するか、アカウントページでいつでも削除できる、このスプレッドシート専用のトークンを使ってください。
クエリの書き方
クエリは検索ボックスと同じです。クエリ構文をご覧ください。引用符には意味があります。引用符付きの"angular.min.js"はその文字列との完全一致で、引用符なしでは複数の語として扱われます。関数の中では引用符を2つ重ねて=PUBLICWWW("""angular.min.js""")と書く必要があるため、クエリを引用符ごとセルに入力して、そのセルを参照するほうが簡単です:=PUBLICWWW(A1)。
関数
-
PUBLICWWW(query, [rows], [columns], [header])- 1行に1つのウェブサイトを、人気の高い順に表示します。rows:初期値は10、関数では最大1000です。columns:domain、url、rankから任意のものをカンマ区切りで指定します。初期設定では3つすべてです。header:TRUEを指定すると、1行目に列名を表示します。人気順位のないウェブサイトではrankが空になります。何も見つからない場合は空のセルになります。 -
PUBLICWWW_COUNT(query)- 一致するウェブサイトの数を返します。
関数は、入力されたときや引数が変わったときに検索を実行し、結果は6時間保持されます。そのため、シートを開き直しても検索回数は再び消費されません。新しい関数1つにつき、プランの1日の利用枠から検索1回分を消費します。
クエリ全体のエクスポート
PublicWWW > Export a query to a new sheetを選ぶと、そのクエリについてプランで取得できるすべての行を新しいシートに書き出し、合計値を最初のセルのメモに記載します。非常に大きなエクスポートでは、Googleのスクリプト実行時間の上限(1回6分)に達することがあります。数十万行規模のリストは、APIに直接リクエストしてください。format=csvなら、どのスプレッドシートでも開けます。
セルに#ERROR!と表示された場合
セルにカーソルを合わせると理由が表示されます。
| 理由 | 対処方法 |
|---|---|
No API token yet | PublicWWW > Set API tokenを選択します。 |
invalid_key | トークンが削除されています。新しいトークンを設定してください。 |
plan_required | APIの利用には有料プランが必要です。 |
too_many_requests | 1分あたり10リクエストを超えています。表示された秒数だけお待ちください。 |
quota_exceeded | その日の検索回数を使い切りました。UTC午前0時にリセットされます。 |
すべてのコード:エラー
次へ Clay