• 締切
  • 困ってます

動的なページのスクレイピング

  • 質問No.9594722
  • 閲覧数88
  • ありがとう数1
  • 気になる数0
  • 回答数1
  • コメント数0

お礼率 61% (81/132)

動的なページのスクレイピング

まず下記のurl御覧ください。

https://detail.chiebukuro.yahoo.co.jp/qa/question_detail/q131988243...

これで「静的なページの」スクレイピングできるようになったはいいのですが、問題はここからです。
https://sv.j-cg.com/compe/view/entrylist/1489
↑このような、「ある程度スクロールすると追加でコンテンツが読み込まれるページ」については、正しくスクレイピングできませんでした。

「JavaScriptを実行させて、変化後の要素を取得する」ためにヘッドレスブラウザ(phantomjs)を使っているはずなのに、これは腑に落ちなさすぎるんですが。。

ググったところ、やっぱり「phantomjsを使う」のは正しい解決法のようなんですが、
(これとか→https://ja.stackoverflow.com/questions/19681/nokogiri%E3%81%A7%E5%8...)
やっぱり追加後のDOM?については解析できませんでした。

JCGのサイトについてはスクロール時に読み込まれるのはjavascriptの仕様ではないのか、はたまたコードがよくないのか…

教えてください。

回答 (全1件)

  • 回答No.1

ベストアンサー率 90% (10/11)

実ブラウザ上でスクロールしないと読み込まれないなら
ヘッドレスブラウザ上でもスクロールしないと当然ダメです。
phantomjs scrolldown
くらいの検索語で調べればコードはすぐわかるでしょう。
補足コメント
ont_rt

お礼率 61% (81/132)

rubyのcapybaraを通してphantomjsを動かしているんですが

session.visit "https://sv.j-cg.com/compe/view/entrylist/1489"
session.execute_script('window.scroll(0,1000);')



session.visit "https://sv.j-cg.com/compe/view/entrylist/1489"
execute_script("window.scrollBy(0, window.innerHeight);")

を使ってもスクロールされたデータが取れないので今回質問しました

調べてもrubyでの書き方はわかりません(こういうのhttps://stackoverflow.com/questions/33484890/how-to-access-elements-from-finite-scroll-with-capybara-poltergeist-and-railsを参
考にしても。)

正しい表記法を教えてください。
投稿日時:2019/03/11 19:16
お礼コメント
ont_rt

お礼率 61% (81/132)

あ、なんか調べたいページが出ちゃってますが…
スクレイピング対象は特に気にしないでいただけるとありがたいです
投稿日時:2019/03/11 19:17
結果を報告する
このQ&Aにはまだコメントがありません。
あなたの思ったこと、知っていることをここにコメントしてみましょう。
AIエージェント「あい」

こんにちは。AIエージェントの「あい」です。
あなたの悩みに、OKWAVE 3,600万件のQ&Aを分析して最適な回答をご提案します。

関連するQ&A

ピックアップ

ページ先頭へ