LoginSignup
265
261

More than 5 years have passed since last update.

Google Apps Scriptでスクレイピングする方法

Last updated at Posted at 2013-09-09

Google Apps Scriptとは?

以下の記事見ながら触ってみるとなんとなくわかります。

正規表現を使えばスクレイピングできる

以下の記事見て、うおーっと思ったけどなんか違った。

できないのかなーと色々試してたらできた。

コード.gs
function myFunction() {
  var response = UrlFetchApp.fetch("http://qiita.com");

  var myRegexp = /<title>([\s\S]*?)<\/title>/i;
  var match = myRegexp.exec(response.getContentText());
  var title = match[1];

  title = title.replace(/(^\s+)|(\s+$)/g, "");
  Logger.log(title);
}

ログの出力

[13-09-10 00:00:49:130 JST] Qiita [キータ] - プログラマの技術情報共有サービス

Googleの検索結果を出してみる

コード.gs
function myFunction() {
  var response = UrlFetchApp.fetch("http://www.google.co.jp/search?q=qiita");

  var myRegexp = /<h3 class=\"r\">([\s\S]*?)<\/h3>/gi;
  var elems = response.getContentText().match(myRegexp);
  for(var i in elems) {
    var title = elems[i]
    title = title.replace(/(^\s+)|(\s+$)/g, "");
    title = title.replace(/<\/?[^>]+>/gi, "");
    Logger.log(title);
  }
}

ログの出力

[13-09-10 00:08:56:438 JST] Qiita [キータ] - プログラマの技術情報共有サービス
[13-09-10 00:08:56:439 JST] Qiita APIドキュメント
[13-09-10 00:08:56:439 JST] タグ一覧
[13-09-10 00:08:56:439 JST] The Official Qiita Blog
[13-09-10 00:08:56:439 JST] Qiita:Career
[13-09-10 00:08:56:440 JST] Qiitaについて
[13-09-10 00:08:56:440 JST] Qiita:Team
[13-09-10 00:08:56:440 JST] キータ (Qiita) on Twitter
[13-09-10 00:08:56:440 JST] Qiita(キータ) | Facebook
[13-09-10 00:08:56:441 JST] 「Qiita」とそのビジネスとは - SD Japan | (株)スタートアップ・デイティング
[13-09-10 00:08:56:441 JST] ニュースリリース: プログラマのための技術情報共有サイト「Qiita(キータ ...
[13-09-10 00:08:56:441 JST] Qiita 2-day Hackathon | PeaTiX
[13-09-10 00:08:56:442 JST] Qiita AWS Tools Hackathon | PeaTiX

感想

これで定期的にサイトをチェックして特定のキーワードがあったらメールするとかのプログラムが簡単に書けそう。

265
261
2

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
265
261