3

Nokogiri (Ruby Xpath ライブラリ) を使用して Web ページのコンテンツを grep しています。その後、Ajax Web ページなどの一部の Web ページで問題が見つかりました。つまり、ソース コードを表示すると<table>、 などの正確なコンテンツが表示されません。

実際のコンテンツの HTML コードを取得するにはどうすればよいですか?

4

1 に答える 1

6

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 を読んでください)。

于 2012-06-06T19:55:46.293 に答える