こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

締切り済みの質問

Nokogiriスクレイピングがうまくできない。

Nokogiriスクレイピングがうまくできない。

RubyのNokogiriを利用して、下記サイトのデータを整理するためにスクレイピングをしようと思っています。

https://sv.j-cg.com/compe/view/entrylist/1274

具体的には、サイト中部の「登録デッキ」の一覧にある使用クラスのデータをまとめるプログラムを組もうと思っています(添付画像参照)。

XPathのサイトを参考にしつつ、試しにこの使用クラスの画像データをテキストで出力するため以下のコードを組んで実行しました。

require 'nokogiri'
require 'open-uri'

url = 'https://sv.j-cg.com/compe/view/entrylist/1274'

charset = nil

html = open(url) do |f|
charset = f.charset
f.read
end

doc = Nokogiri::HTML.parse(html, nil, charset)
p doc.xpath('//img[contains(@src,"clans")]')


ですが、 [] と表示されるだけで何も取得できません。
containsの引数を(取得対象のimg要素内の)どの値に変えて試しても、色んな表示が出はするのですが肝心の画像URLの部分が取得できません。
(ページのソースコードを見た所、使用クラスの判別が画像URLでしか出来ないため、URLをまず取得しないことには目的を達成できないだろう、という前提で話しています。)

私の推測では、どうやらURL部分だけjsonファイルらしい(他者には見られない)外部のファイルから引っ張ってきているため、プログラムから読み取ろうとしてもうまくURLを引用できないのだと思ってます。
ですが、ブラウザ上の検証ツールではURLが表示されるのにプログラムでは正しく読み込めないのが疑問です。

何にせよ、うまく使用リーダーを整理する方法があったら教えていただきたいと思います。

(ちなみにスクレイピングで画像URL等を取得した後のうまい整理方法も現段階ではよくわかっていないですが、とりあえずこのURLデータ取得だけでもまず理解してからということで質問をしています。)

投稿日時 - 2018-11-10 04:58:53

QNo.9556311

困ってます

このQ&Aは役に立ちましたか?

0人が「このQ&Aが役に立った」と投票しています

回答(1)

ANo.1

別の話ですが、スクレイピングツールを使っています。
画像URLの取得が簡単です。

参考URL:http://jp.octoparse.com/tutorial/extract-data/

投稿日時 - 2018-11-23 16:19:26

お礼

rubyでスクレイピングしたいんですが、まぁ参考にしてみます

投稿日時 - 2019-03-07 01:15:31

あなたにオススメの質問