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

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

新規登録して質問してみよう
ただいま回答率
85.35%
XML

XMLは仕様の1つで、マークアップ言語群を構築するために使われています。

スクレイピング

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

CSV

CSV(Comma-Separated Values)はコンマで区切られた明白なテキスト値のリストです。もしくは、そのフォーマットでひとつ以上のリストを含むファイルを指します。

Ruby

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

Webサイト

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

Q&A

1回答

1211閲覧

ruby nokogiri スクレイピング

laboumhaein

総合スコア16

XML

XMLは仕様の1つで、マークアップ言語群を構築するために使われています。

スクレイピング

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

CSV

CSV(Comma-Separated Values)はコンマで区切られた明白なテキスト値のリストです。もしくは、そのフォーマットでひとつ以上のリストを含むファイルを指します。

Ruby

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

Webサイト

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

0グッド

0クリップ

投稿2020/04/18 11:33

ruby

1require 'bundler/setup' 2require 'open-uri' 3require 'nokogiri' 4require 'csv' 5 6def nokogiri_binary(url) 7 begin 8 html = open(url, "r:binary").read 9 Nokogiri::HTML(html.toutf8, nil, 'utf-8') 10 rescue => e 11 return false 12 end 13end 14 15def get_parsed_html(url) 16 html = open(url) do |f| 17 charset = f.charset 18 f.read 19 end 20 p url 21end 22 23path = './lib/ygowikinewpack.csv' 24url_array = [] 25CSV.foreach(path) do |row| 26 url_array << row[0] 27end 28 29url_array.each do |url| 30 doc = get_parsed_html(url) 31 doc.css('#body > pre').each do |efc| 32 sleep(1) 33 effect = efc.text 34 p effect 35 end 36end 37 38

csv

1https://yugioh-wiki.net/index.php?%A1%D4%CB%E2%C6%BB%B5%B3%BB%CE%A5%AC%A5%A4%A5%A2%A1%D5 2https://yugioh-wiki.net/index.php?%A1%D4%BC%F6%A4%EF%A4%EC%A4%B7%CE%B5%A1%DD%A5%AB%A1%BC%A5%B9%A1%A6%A5%AA%A5%D6%A1%A6%A5%C9%A5%E9%A5%B4%A5%F3%A1%D5 3https://yugioh-wiki.net/index.php?%A1%D4%CB%A4%B7%E2%A4%CE%A5%AB%A5%BF%A5%D1%A5%EB%A5%C8%A1%A6%A5%BF%A1%BC%A5%C8%A5%EB%A1%D5 4

といった感じのコードなのですが、対象サイトがスクレイピングできません。
対象サイトはxmlで、encoding="EUC-JP"

 ・要約するとCSVに入ってるサイトから'#body > pre'要素を抜き取りたいです。

よろしければご教授頂きたいです。
よろしくお願い申し上げます。

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

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

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

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

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

guest

回答1

0

現象が書いてないので、これだけが原因かどうかは分かりませんが、
get_parsed_htmlは引数のurlをそのまま返すので、それにcssメソッドを書いてもエラーでは?

メソッド名通り、HTMLをNokogiriでパースしたものを返すように書いたらどうでしょうか。

投稿2020/04/18 11:48

otn

総合スコア85901

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

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

ただいまの回答率
85.35%

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

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

質問する

関連した質問