1. inaling

    Posted

    inaling
Changes in title
+Google Apps Scriptでスクレイピングする方法
Changes in tags
Changes in body
Source | HTML | Preview
@@ -0,0 +1,83 @@
+
+##Google Apps Scriptとは?
+
+以下の記事見ながら触ってみるとなんとなくわかります。
+
+- [無料でCron!Google Apps Scriptで時間を指定してURLをリクエスト。 | きじとら](http://kijtra.com/article/cron-by-google-apps-script)
+
+
+
+##正規表現を使えばスクレイピングできる
+
+以下の記事見て、うおーっと思ったけどなんか違った。
+
+- [Google DocsでWebスクレイピング:Logic+Idea](http://kaniku.seesaa.net/article/212479636.html)
+
+できないのかなーと色々試してたらできた。
+
+```コード.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 [キータ] - プログラマの技術情報共有サービス
+```
+
+- [javascript - Google Apps Script Regex exec() returning null - Stack Overflow](http://stackoverflow.com/questions/16961953/google-apps-script-regex-exec-returning-null)
+- [googleのtitleを取得するプログラム(正規表現) - Hexaの日記](http://d.hatena.ne.jp/Hexa/20060610/1149954511)
+- [PHPでWEBページのタイトルを抜き出すサンプル [C!]](http://creazy.net/2008/05/php_get_page_title_sample.html)
+- [複数行にマッチさせる正規表現 | You Look Too Cool](http://stabucky.com/wp/archives/4334)
+- [Javascript で trim するには - Enjoi Blog](http://blog.enjoitech.jp/article/180)
+- [ダブルクォーテーションのreplaceの方法 - JavaScript - 教えて!goo](http://oshiete.goo.ne.jp/qa/342029.html)
+
+
+
+##Googleの検索結果を出してみる
+
+```コード.gs
+function myFunctionGoogle() {
+ 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
+```
+
+- [片鱗懐古のブログ: Rhinoのフィルタ演算は正規表現じゃなくても良かった](http://pieceofnostalgy.blogspot.jp/2011/03/rhino_13.html)
+- [HTMLタグを除去 - Tatsuya Wiki](https://sites.google.com/site/tatsuyafukata/pg/javascript/remove-html-tag)
+- [[JavaScript]String.matchとRegExp.execと後方参照 - chalcedonyの外部記憶装置・出張版](http://d.hatena.ne.jp/chalcedony_htn/20090315/1237121111)
+
+##感想
+
+これで定期的にサイトをチェックして特定のキーワードがあったらメールするとかのプログラムが簡単に書けそう。