【Ruby】Mechanizeでスクレイピングする方法

→約 2 分で読めるよ〜

前回【Ruby】4行でスクレイピングする方法を公開したら、

「Mechanize」(gem)をオススメされました。

ありがとうございます!

こちらのほうがシンプルでしたね。

環境

・AWS Cloud9

はじめての方は始める前にアラーム設定も忘れずに。

ソースコード

コード自体は2行で終わりました。

あれ〜、短いね。

ページタイトル・最新3記事を取得(目安:5分)

Gemfile作成

「gemってなんだ?」って方は

Gemとは?RubyのGemを使ってみる!の記事が分かりやすいですよ。

インストール

ファイルを作成

「scrape.rb」というファイルを作成します。

以下を書きます。

前回同様、このブログのトップページをスクレイピングします。

実行

結果

お、できた。

cloud9user:~/environment $ ruby scrape.rb
“じゅもん をおぼえた! | プログラミングで れべるあっぷしよう”

修正

URLと記事タイトルを取りたいときは

以下に修正すればいいんですね。

結果

できてるね。

空白部分は分岐してあげれば直りますね(しない)

cloud9user:~/environment $ ruby scrape.rb


https://air1p1.com/
【Ruby】4行でスクレイピングする方法
https://air1p1.com/2019/04/21/nokogiri/
ExcelVBAで棒人間を動かすには?(ジタバタ編)
https://air1p1.com/2019/04/20/vba-struggle/
プログラミング勉強方法は?(アンケート結果あり)
https://air1p1.com/2019/04/19/study/

最新4~6記事URLも取得(目安:5分)

ファイル修正

「scrape.rb」ファイルを修正します。

クリック(改ページ)

クリックさせて、

最新4~6記事を表示するページへ飛びます。

うまくループすれば、完全取得もできそうだね。

実行

結果

取れたー。

cloud9user:~/environment $ ruby scrape.rb


https://air1p1.com/
【Ruby】4行でスクレイピングする方法
https://air1p1.com/2019/04/21/nokogiri/
ExcelVBAで棒人間を動かすには?(ジタバタ編)
https://air1p1.com/2019/04/20/vba-struggle/
プログラミング勉強方法は?(アンケート結果あり)
https://air1p1.com/2019/04/19/study/


https://air1p1.com/
「UWSC」でEXCELマクロを実行するには?
https://air1p1.com/2019/04/18/uwsc-excelrun/
AWSを始める前にアラーム設定をしておこう
https://air1p1.com/2019/04/18/aws-cloudwatch/
Slackの「カスタム絵文字」ってなあに?
https://air1p1.com/2019/04/17/slack-emoji/

参照

楽々スクレイピング! Ruby Mechanizeの使い方
Rails スクレイピング手法 Mechanizeの使い方
Mechanizeでサイトログインしてスクレイピングするときのアレコレ メモ

Gem MechanizeでWebスクレイピング

まとめ

nokogiriよりシンプルかつパワフル!

Mechanizeのほうが使い勝手が良いと感じましたね。

いろいろアイデアが浮かびます♪

※利用する際は、

【webスクレイピングと著作権】どこから違法?法律的観点から注意すべき点!などを

お読みになってくださいね。

ここでしか読めない!話題のやめ太郎さんへの質問

Qiitaに投稿する度、話題になる!
やめ太郎さんが、面白おかしく記事を書けるのは
前職がコールセンターだったから??
Twitterも要チェック☆

ほかにも50名以上のお話が読めるのは、このブログだけ!