Nokogiri (Ruby Xpath ライブラリ) を使用して Web ページのコンテンツを grep しています。その後、Ajax Web ページなどの一部の Web ページで問題が見つかりました。つまり、ソース コードを表示すると<table>
、 などの正確なコンテンツが表示されません。
実際のコンテンツの HTML コードを取得するにはどうすればよいですか?
Web ページの生のソースが必要な場合は、Nokogiri を使用しないでください。Web ページを文字列として直接フェッチするだけで、それを Nokogiri にフィードしません。例えば:
require 'open-uri'
html = open('http://phrogz.net').read
puts html.length #=> 8461
puts html #=> ...raw source of the page...
一方、JavaScript で変更された後のページのコンテンツ (JavaScript コードを実行して新しいコンテンツを取得し、ページを変更する AJAX ライブラリなど) が必要な場合は、Nokogiri を使用できません。Ruby を使用して Web ブラウザーを制御する必要があります (たとえば、Selenium や Watir を読んでください)。