Qiita Teams that are logged in
You are not logged in to any team

Log in to Qiita Team
Community
OrganizationAdvent CalendarQiitadon (β)
Service
Qiita JobsQiita ZineQiita Blog
262
Help us understand the problem. What is going on with this article?
@inaling

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

More than 5 years have passed since last update.

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

感想

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

262
Help us understand the problem. What is going on with this article?
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
inaling

Comments

No comments
Sign up for free and join this conversation.
Sign Up
If you already have a Qiita account Login
262
Help us understand the problem. What is going on with this article?