さいごにはじめに以前、技術評論社さんのデータサイエンティスト養成読本という本を読みました。いろいろな技術の紹介があり、非常に参考になりました。その中でスクレイピングに関するサンプルコードもありました。今回はPythonで書かれていたスクレイピングのコードをRubyで書き直した記事になります。さんのサイトに行き、直近の記事タイトルとそのリンクを取得してJSONで吐き出します。ソースコード実際に書いたソースコードはこちらになります。その後、各項目について記載したいと思います。nilendendGihyoCrawler.runファイル名を指定してrubyコマンドで実行できます。gihyo_crawler.rb使用したモジュール、GemURIopen-urinokogiriJSON対象ページを取得open-uriのopenメソッドを使用し、対象URLを開いて取得します。Agentが渡せるので、クローラーだと分かるような名前をつけてあげます。取得したページはNokogiriでHTMLとして解析して返却します。Chromeなどを使用すれば、対象のHTMLタグのXPATHを取得することができるので、そちらから目的のものを取得します。XPATHの説明は、下記の方の記事が分かりやすいかと思います。クローラ作成に必須!XPATHの記法まとめChromeでXPathを取る・検証する同じ階層の、例えば<div>などは配列で返ってくるので、ループして必要なだけ抽出します。記事タイトル、リンク先それぞれ取得の方法が違うので、メソッドを用意してあげます。技術評論社さんの記事ページはページングされており、過去の記事を見るためには次のページへ行く必要があります。このとき、次のページボタンのXPATHを指定し、そのDOMのURLを取得すれば、同様の処理を繰り返すことで次のページの記事も取得できます。2が与えられています。それ以上過去の記事がなければ、リンクが取得できないはずなので、その場合はbreakします。省略endさいごにスクレイピングの勉強がてら書き換えてみました。Railsで素早くWebページを作成することは違うので、Ruby自体の勉強にオススメです。コメントをキャンセルメールアドレスが公開されることはありません。コメント名前メールアドレスサイト上に表示された文字を入力してください。私たちは無料アプリもリリースしています、ぜひご覧ください。下記のアイコンから無料でダウンロードできます。