質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.49%
スクレイピング

スクレイピングとは、公開されているWebサイトからページ内の情報を抽出する技術です。

Ruby

Rubyはプログラミング言語のひとつで、オープンソース、オブジェクト指向のプログラミング開発に対応しています。

Webサイト

一つのドメイン上に存在するWebページの集合体をWebサイトと呼びます。

Ruby on Rails

Ruby on Railsは、オープンソースのWebアプリケーションフレームワークです。「同じことを繰り返さない」というRailsの基本理念のもと、他のフレームワークより少ないコードで簡単に開発できるよう設計されています。

データベース

データベースとは、データの集合体を指します。また、そのデータの集合体の共用を可能にするシステムの意味を含めます

Q&A

解決済

1回答

882閲覧

Rails スクレイピングしたい gem

masaosan18

総合スコア64

スクレイピング

スクレイピングとは、公開されているWebサイトからページ内の情報を抽出する技術です。

Ruby

Rubyはプログラミング言語のひとつで、オープンソース、オブジェクト指向のプログラミング開発に対応しています。

Webサイト

一つのドメイン上に存在するWebページの集合体をWebサイトと呼びます。

Ruby on Rails

Ruby on Railsは、オープンソースのWebアプリケーションフレームワークです。「同じことを繰り返さない」というRailsの基本理念のもと、他のフレームワークより少ないコードで簡単に開発できるよう設計されています。

データベース

データベースとは、データの集合体を指します。また、そのデータの集合体の共用を可能にするシステムの意味を含めます

0グッド

0クリップ

投稿2020/10/01 09:57

やりたいこと

Railsでアプリケーションを作成しています。
そこでスクレイピングでDBに保存ということをしたいです。

参考にした記事

Nokogiriを使ったRubyスクレイピング [初心者向けチュートリアル]

解決したいこと

上記の記事で「 (6) NaverまとめTechページの注目一覧のタイトル・画像を取得」という例がありました。

ruby

1require 'open-uri' 2require 'nokogiri' 3 4# スクレイピング先のURL 5url = 'http://matome.naver.jp/tech' 6 7charset = nil 8html = open(url) do |f| 9 charset = f.charset # 文字種別を取得 10 f.read # htmlを読み込んで変数htmlに渡す 11end 12 13# htmlをパース(解析)してオブジェクトを作成 14doc = Nokogiri::HTML.parse(html, nil, charset) 15 16doc.xpath('//li[@class="mdTopMTMList01Item"]').each do |node| 17 # tilte 18 p node.css('h3').inner_text 19 20 # 記事のサムネイル画像 21 p node.css('img').attribute('src').value 22 23 # 記事のサムネイル画像 24 p node.css('a').attribute('href').value 25end

疑問
①このファイルをどこのディレクトリに作成すればいいのかわからない。
②WEBアプリケーションで複数のページに表示されているテキストをスクレイピングする書き方がわからない。
③DBに保存する方法をしりたい。

詳しい方、宜しくお願い致します。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

1 - 好きな場所に保存することができます
2 - Mechanize などのライブラリを利用すると、かんたんに実現できるでしょう
3 - 例えば sqlite3-ruby といったライブラリを利用すると、SQL を発行することで データベースに保存することができます

かんたんに回答しましたが、なにか参考になれば幸いです

投稿2020/10/02 08:46

gouf

総合スコア2321

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.49%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問