プログラミング記事の概要Rubyとチャットボットの学習に使用している書籍に、Google検索を利用して、チャットボットの応答文を生成する方法が出てきたので、RubyでWebスクレイピングする方法を調べました。準備RubyでWebスクレイピングだとNokogiri(鋸)が有名らしいのですが、少し前のPOSTDの記事でOga(大鋸)が推奨されていた事を思い出し、Nokogiriを使ったことが無く、Nokogiriの有用さを知らない私は、Ogaを使うことにしました。そんなわけで、ogaをインストールします。installedちなみに、nokogiriは何かの折にインストールされていたらしく、既に入ってました。(1.6.6.2)大鋸でHTMLを切り出すogaのインストールができたので、試しに、『スクレイピング』をGoogleで検索した場合のURLからopen-uriでHTMLを読み込み、Ogaでパースしてみます。無事にパースできたようなので、XPathを使った要素の探査を利用して『検索結果のリンク』を切り出してみます。『検索結果のリンク』はh3タグ内のaタグに記述されているようなので、XPathの//h3/aからhref属性の値の取得を試みます。́・ω・`)大鋸で切り出した部分を加工する『検索結果のリンク』らしきものがたくさん出てきましたが、今のところ『検索結果のリンク』は1つあれば事足りるので、最初の値だけ取得します。pry(main)>取得した値を見てると、/url?q=が記述されていて、https://www.google.co.jpとかを付け加えたら『検索結果のリンク』になりそうな気がしてきたので、試してみます。やった!リンクが開けた!適当に思いつきやってみたらうまくいったヽ(・ω・)/大鋸を使ったWebスクレイピング上述のpry*1で試した手順で、なんとか、『検索結果のリンク』を取得することが出来ましたので、これに手を加えて、スクリプトファイルにまとめてみます。endend"動けば良い"の精神で作成しましたので、エラー処理とか推敲する余地がありまくりな気がしますが、こいつを使って『スクレイピング』を検索してみます。́;ω;`)参考記事RubyのWebスクレイピングとXPathについては、こちらの記事を参考にさせていただきました。月別アーカイブリンクGitHubはてなブログをはじめよう!b0npuさんは、はてなブログを使っています。ブログを報告するスターをつけました引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。