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

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

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

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

Ruby

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

Q&A

解決済

1回答

355閲覧

ruby(nokogiri)で横断検索機能を作りたい

pokerStars

総合スコア67

スクレイピング

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

Ruby

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

0グッド

0クリップ

投稿2018/09/16 12:23

映画やドラマを検索した時にどのVODで視聴できるのかわかるサイトを作りたいです。(justwatchのようなサイト)

スクレイピングで作りたいのですがどのようにすれば様々なタイトルからvodを調べられる検索窓を作れるのか分かりません。

require 'open-uri'
require 'nokogiri'

@url = 'http://www.yahoo.co.jp/'

@html = open(@url) do |f|

@charset = f.charset f.read end

@doc = Nokogiri::HTML.parse(@html, nil, @charset)

puts @doc.title

このようなものを見つけたのですがurl以外の部分をどのように変更すればいいのかわかりません。

色々調べていたのですがよくわからなかったので、サンプルや例のコードがあればすごく助かります。

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

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

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

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

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

guest

回答1

0

ベストアンサー

手順としては、
1.そのページのHTMLを見て、希望の情報を探す
2.その場所をxpath等で一意に指定する方法を考える
3.それを元にコードを書く

Yahooトップページから、ニュースヘッドラインを抜き出すあたりから始めてはどうでしょうか?
#追記
あと、JavaScriptを使って作成されているタグであれば、Mechanize+Nokogiriでは取得できません。JavaScriptを実行することが必要となるためです。
・ブラウザを使う(seleniumライブラリを使う)
・node.jsなどのJavaScriptエンジンを使う
などの方法があります。

JavaScriptを使って作り出されたタグかどうか判断する方法:
ブラウザのページソースを表示する機能では表示されないが、開発者ツールを使ってHTMLを見ると存在するというものが、JavaScriptが作ったものです。

投稿2018/09/16 12:44

編集2018/09/17 13:05
otn

総合スコア84538

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

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

pokerStars

2018/09/16 12:51

検索ワードを所得してキーワードごとに検索結果が変わるようにするには、まず検索窓のところをgooglecromeのディベロッパーツールで検証してxpathでコピーをする流れでしょうか?
otn

2018/09/16 13:05

ちょっと意味がよく分かりませんが、フォームを実行したいのなら、Nokogiriだけでは駄目で、Mechanize等を使います。
pokerStars

2018/09/17 13:00

なるほどです!ありがとうございました!!
otn

2018/09/17 13:05

追記も参照のこと。
pokerStars

2018/09/17 14:40

追記ありがとうございます。とても分かりやすいです! これを参考に作ってみようと思います!
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問