今回は前回作成したアプリを Heroku というサービスを使って一般公開していきます。 今回の目標 Herokuを知る アプリを一般公開する 1. Herokuを知る Herokuとは一言で言うと PaaS(Platform as a Service)環境です。 Herokuを使うと何がいいのかというと、…
今回は、 Railsの環境設定と画面に「hello, world」と表示するアプリを作りたいと思います。 今回の目標 環境設定 hello, world! 1. 環境設定 今さらですが、私はMacを使っているので Macで開発を進めていきます。 まずはrailsのインストール $ gem install …
今日からRuby on Rails(以後Railsと書きます)の勉強をしていきます。 記事のタイトルは「Ruby on Railsを学ぶ」としてみました。 何でRailsを勉強したいかというと、 当ブログのタイトルにもあるように 1人でアプリを作れるように なるためです。 今、子育て…
明けましておめでとうございます。 久しぶりの更新で大変申し訳ない気持ちでいっぱいです。 前回の更新から約2ヶ月経ってしまいました。 新年早々言い訳になりますが、11月と12月は仕事が忙しく なかなか子育てアプリの開発に専念できませんでした。 そして…
前回までで、 サイトをクロールして 子育て情報を収集し、 タグを自動生成して データベースに保存する ところまで終わりました。 次は このクローラーをherokuというサービスを利用して 定期的に実行させようと思い、 herokuの使い方について調べていました…
前回の続きになります。 前回の記事投稿後、 @dkfjさんよりご指導頂きました。ありがとうございます。 Rubyによるクローラー開発技法 巡回・解析機能の実装と21の運用例作者: るびきち,佐々木拓郎出版社/メーカー: SBクリエイティブ発売日: 2014/08/25メディ…
今回は、 クローラーで収集したデータにタグ情報を追加していきます。 で、前々から使ってみたいと思っていた Mecabという形態素解析器を使いたいと思います。 形態素解析というのは、 簡単に言うと文章を品詞単位に分解してくれるものです。 詳しく言うと・…
今回はYamlファイルを使って クローラーの検索キーワードを読み込めるようにします。 多分、ヤムルと呼びます。 Yamlについては http://magazine.rubyist.net/?0009-YAML#l2 に詳しく書かれています。 今回の目標 Yamlを理解する Yamlファイルを読み込む 1. …
前回、クローラーで収集したデータを データベースへ保存する所まで実装しました。 しかしながら、前回のプログラムだと クローラーを実行する度に同じデータをデータベースに保存してしまいます。 そこで、今回は同じデータを保存しないように 重複チェック…
今回はクローラーが収集したデータを データベースに保存していきたいと思います。 データベースにはPostgreSQLを使っていきます。 PostgreSQLを使う理由は、 Herokuというサービスと連携するのに都合が良さそうだからです。 Herokuについては実際に使う時に…
今回はクローラーを作るのは一旦やめて、 ソースコードの見直しを行います。 今回の目標 構造を見直す 1. 構造を見直す 今までのファイル構成は、 こんな感じでした。 これでも問題なく動いているのですが、 いくつか気になる点が。 * movie-site.rbやcook-s…
今回はヤフー知恵袋のクローラーを作っていきます。 子育ての悩みって尽きないですよね。 そんな時にヤフー知恵袋を見ると同じ悩みを持った人って結構います。 なので、そういった情報を収集する事で 少しでも悩みを解決しようという目的です。 今回の目標 …
今回は、 子育てと言えば、赤ちゃん! 赤ちゃんと言えば、離乳食! ということで、 クックパッド(cook pad)のサイトから 料理の情報を取ってくるクローラーを作っていきます。 今回の目標 cookpadから料理情報を取得する 1. cookpadから料理情報を取得する…
前回からかなり時間が経ってしまいました。 言い訳すると、 仕事が忙しかったり、 子育てでいっぱいいっぱいだったり、 お盆休みだったからです。 すみません… 今回は、Youtubeから子育て動画を取得してみたいと思います。 今回の目標 簡単に全体を設計する …
今回は、実際にアプリを作るために必要な前準備をしていきます。 今回の目標 gemを管理する環境を作る 1. gemを管理する環境を作る (1) まず初めに、bundlerをインストールします。 $ gem install bundler (2) 次に、前回クローンしてきたリポジトリのフォル…
まずは、子育てアプリのプロジェクト(リポジトリ)を作成していきます。 完全に、1人プロジェクトですが、 資産管理目的で、GitHubを使っていきたいと思います。 今回の目標 GitHubでリポジトリを作成する ローカルにクローンする 1. GitHubでリポジトリを作…
前回、書籍「Rubyによるクローラー開発技法」(以下クロ本)を一気読みしました。 で、今回から クローラー技術を使ったオリジナルアプリを作っていこうと思います その名も 子育て情報アプリ です。 簡単に言うと、 子育てに関係する情報(食事、遊び、病気、…
前回でchapter2まで終わりました。 今回からchapter3 と言いたいところなんですが、 実は クロ本が面白すぎて 最後まで一気に読んでしまいました。 (ちょっとだけ飛ばしたところもあります) 一気に読んだ時の私の脳内を解説すると chapter3 チャプター3は「…
今回は、 chapter2のリンク抽出機能を勉強していきます。 やる事は ヤフーのトップページを開く ページ内のAタグを抽出する Aタグのhref属性からURLを取得する 取得したURLを使ってページ遷移を行う スクリーンショットを撮って保存する です。 とりあえず、…
今回は勉強に入る前に一つ。 今まで読み進めてきた 「Rubyによるクローラー開発技法」 なんですが、 「本」と書いたり 「書籍」と書いたりと、 統一感がなかったので わかりやすい呼び名を考える事にしました。 できるだけ短い方が良いので Rubyによるクロー…
前回はWebサイトをクロールするところまで書いたので、 次は取得したページを解析して、必要な情報を抜き出します。 必要な情報を抜き出すには、 nokogiriというライブラリを使えばいいみたいです。 使い方は簡単で、 nokogiriライブラリを使えるようにする …
chapter2を進めていきましょう。 chapter2では、「Anemone」というライブラリを使って Amazonのウェブサイトから書籍のランキング情報を取得する クローラーを作っていくようです。 ちなみに、Anemoneってどういう意味?と思って 調べてみたら、植物の名前ぽ…
みなさんエディタは何を使っていますか? 私は今まで、Vimというエディタを使っていました。 使っていたと言いましたが、 実際には使い始めたばかりで、 使いこなしていた訳ではありません。ど素人です。 で、今まではVimを使いこなそうと意気込んでいたのに…
chapter1の続きを読み進めます。 chapter1では最終的に、 あるサイトのトピックス情報を取得し、 RSS配信するところまでやります。 完成するとこんな感じ 本通りに書き写しただけと言われればそこまでなんですが、 自分の手で書いたものが動くとちょっと感動…
本のChapter1から進めます。 Chapter1のタイトルは「10分クローラーの作成」となっています。 いきなり、ワクワクさせるタイトルです。 まずは写経するところから。 本通りに作っていきます。 10分では作れませんでした笑。 というのもRubyの各種メソッドに…
RubyWarriorを攻略してから はや5日。 次は何をやろうか考えてました。 何をやろうか考えてる時って こーゆー事したい。とか こんな事できたら面白そう。とか 色々考えて、夢(妄想)がふくらみますね。 この時間って本当楽しいです。 ただ、残念な事に自身の…
Level9です。 敵の数からして、いかにもラストステージっぽいです。 気合入れてやっていきましょう! Never before have you seen a room so full of sludge. Start the fireworks! 決して前に、あなたは、汚泥のようにいっぱいの部屋を見てきました。花火を…
Level8です。 何か簡単そうに見える。 You discover a satchel of bombs which will help when facing a mob of enemies. あなたは敵の暴徒に直面したときに役立ちます爆弾のかばんを発見します。 Detonate a bomb when you see a couple enemies ahead of y…
Level7です。 Level9が最後と考えると、あと少しで完全攻略です(たぶん)。 Another ticking sound, but some sludge is blocking the way. 他の音を刻むが、いくつかの汚泥が道をブロックしています。 Quickly kill the sludge and rescue the captive befor…
Level6やっていきます。 What's that ticking? Some captives have a timed bomb at their feet! そのティッキングは何ですか?いくつかの捕虜は、自分の足で時限爆弾を持っています! Hurry and rescue captives first that have space.ticking?, they'll s…