herokuで定期的にクローラーを動かす

を参考にclockworkというgemを使い、クローラーを毎時間ごとに動かすことにしました。どうやらcronより高性能らしいですよ。
clockworkの使い方は以下が参考になりました。

Hello clockwork on Heroku - Heroku で定期実行アプリケーションを動かそう! - 君の瞳はまるでルビー - Ruby 関連まとめサイト


 クローラーで取ってきた情報を一つのテーブルにまとめてごっそり入れているんですが、これでいいんですかね?カテゴリー別にテーブルを作ろうかとも思ったんですが、なにせカテゴリーが2,30個あるので面倒くさくなってやめました。後々響いてこなければいいのだけど。。

 

amazonランキングクローラー作り4日目

 今日まででクローラーで取ってきた情報をローカルのmysqlに保存するところまでやりました。
 mysqlは1年弱ほど前にphpを勉強していてその流れで勉強していたのですが大半のことは忘れてしまっていたのでもう一度学習しなおしました。
ドットインストールと

で復習しました。はじめ上のサイトから勉強し始めたのですが、逆に詳しすぎて途中からドットインストールに移りました。いやーでも、ドットインストールさまさまです。無料でこれだけ学習できるってすごすぎでしょ。
f:id:yuya0120117117:20141022184410p:plain

 で、次の目標はクローラーをheroku上で毎時ごとに動かすことなんですが情報が結構少なくて苦労してます。でも、なくはないのでそれを参考にやっていこうと思います。
以下のサイトが参考になりそうです。
Herokuを使って無料のジョブサーバを構築する - プログラマになりたい
Elämä on — 実質無料!Rubyで作りMongoDBで保存しHerokuで運用するコスパ最強のTweet収集方法
第12回 Herokuで非同期処理を実装しよう:Herokuで作るFacebookアプリ|gihyo.jp … 技術評論社
時計仕掛けのHeroku | Synergy LAB | シナジーマーケティング株式会社 R&D
heroku schedulerの使い方(Rails,sinatra) - Qiita

herokuのこと

herokuって1dyno月750時間まで無料なんですが、例えば2つのアプリケーションを使ったとしてその合計が月750時間までなのか、それぞれのアプリケーションごとの合計なのかがわからず調べていたんですか結局出てきませんでした。あきらめて英語のherokuの公式サイトgoogle翻訳使いまくりで調べてみたところあっさり出てきました。。
Usage & Billing | Heroku Dev Center
750 free dyno-hours per app
と書いてあるので1アプリケーションごとみたいですね。相当時間を無駄遣いしました。



とくこ時代

 と言うわけで、知らない人はいないと思いますが次来るであろう韓国系ユニットとくこ時代の動画貼っておきますね。

バカソウル とくこ時代 - YouTube

【あらびき団】とくこ 西田ひかるモノマネ - YouTube

macにMySQLをインストール

 クローラーで取得してきたデータを保存するためのdbを使うためにmysqlをインストールしました。
最初mongodbを使おうとしてmongodbをインストールしたのですが、railsでmongodbをactiveRecordで使うことは無理らしく、mongoidという擬似activeRecordを使わなければいけなくて覚えることが増えそうなのでmysqlにしました。以下、インストール法を書きます。

homebrewでインストール

$ brew install mysql

でインストール完了です。
終わりです。お疲れ様。

自動起動


を参考に

$ brew services start mysql

で自動スタートできるみたいです。
ただ自分の場合は上のコードを打ったら

$ Error: Unknown command: services

と出たので以下を参考にして
Starting and Stopping Background Services with Homebrew

$ brew tap homebrew/boneyard

としてからやりました。
自動起動を止める場合は、

$ brew services stop mysql

で止めれます。

というわけで今日はmacMySQLをインストールする所までしか出来ませんでしたw
というのも、dbを何を使えばいいのか調べたり他にもなんか色々しらべてたのでこんな感じになりました。

amazonランキングクローラー作り1日目

 とりあえず1日目ということで、何から手をつけていこうかって感じですが今日は、amazon各ランキングページから商品情報をDLできるようなクローラーを作りました。といっても以前買ったクローラーの本を参考にして、ほとんどコードはコピーマシーン仕様です。本に載っているソースコードはすべてネットにアップロードされているので、すごい助かりました。command + c 押しまくりです。ほんとありがたい。
 最初amazonそのもののサイトじゃなく、amazonが配信しているRssに対してクローラーを動かして情報を取得しようとしたんですが、なんかすべて文字データになってしまう部分があってこれでは苦手すぎて見ているだけでゲロを吐きそうになる正規表現を使わないとだめになってしまうので、amazon本体に対してのクローラーを作りました。
 あとはこれをdbに保存して、出力するサイトをRailsで作るって感じになると思います。
っていってもそこの部分があやふやでイマイチどうやって作ればいいかわからないです。というわけで最近お世話になっているエンジニアQ&Aサイトテラテイルっていう何回見ても名前が覚えられないサイトで質問をしてみたのですがまだ解決してません。なので知ってる方がいたら教えていただきたいです。

サイト作ろう

 アイデアは出るのだがクソみたいなアイデアか、実現が難しいアイデアしか浮かばない。

 railsを勉強し始めたのは作りたいサイトがたくさんあったからで、最近そのアイデアのほとんどがクソだということがわかってきた。
最初にRssリーダーを作ったが、利用しているのは俺だけ。でも作る前は、他の人も利用するだろうと思っていた。作った時は、これでアフィリエイト生活だー!ひーはー!と思っていた。
で、次に作ったのがチャットサイト。これも鳴かず飛ばず。そもそもチャットってのがまずかったかな。
他の方のブログを見ても、作ったはいいけど誰も使ってくれずにそのままサービス終了もしくは、自分専用になっているサービスが結構あると思う。
 でも、このまま良いアイデアが浮かぶまで考えていても年が明けるし、今のままではプログラミング能力は低下してしまう。と言うわけで、何かサイト作ります。クローラーの本を買って勉強していたので、これを使って何か作ります。作りながら考えます。
 
 どんなサイトを作るかというと、amazonのランキングをクローラーで拾ってきてそれをグラフで表示するっていうサイトを作ろうと思っています。図で表示すればすごく売れている商品がどれだけ爆発的にヒットしているかわかりやすいし、時間軸で表示すればぽっと出の商品か長い間売れている商品かの違いがわかりやすいかと思います。とりあえず、ほぼ毎日進歩状況をブログに書いていく予定です。
期間は2週間。できたら1週間で作れればいいなと思ってます。

まじかよ!!今だけJetBrains商品、学生のみ無料になってた。

 そろそろRubyMineの試用期間が切れるのでライセンスを購入しようとした所、学生の購入ボタンの横にFREEの文字が。きたーーー!と思いダウンロードを進めていくと、なんと他にも無料なものがたくさん!
WebStormとかPhpStormとか上位モデルのIntelliJ IDEAまでも無料になってました。たぶん、主要なほとんどの製品が無料でダウンロードできるので、チャンスですよ!!
おそらくキャンペーン中なので、そのうち元の価格に戻ってしまうと思うので、いまのうちに!

ちなみに学生じゃなくても50%offで買えるキャンペーン中です。
JetBrains :: World's Leading Vendor of Professional Development Tools

rubyのクローラー本買いました

クローラーの勉強をしたかったので、amazonrubyによるクローラ開発技法っていう本を買いました。

っていっても買ったの1週間ぐらい前で、だいたい3分の1ぐらい読み終わっています。
この本、結構売れているらしくてamazonruby関連の売り上げランキングで一位になってました。
クローラーを使って何を作ろうかと悩んでいるところで、幾つかアイデアはあるのですがどれから手をつけようかと悩み中です。一度、エロ系を作りたいのでそういったサイトも作る予定です。

この前作ったチャットサイトについても、いくらか追加したい機能があってそれも随時進める予定です。とりあえず、ちゃんとしたログイン機能はほしいのでまずはログイン機能から作る予定です。

下手な鉄砲も数打ちゃ当たる戦法でどんどん作って行こうと思ってます。