如何使用Ruby或Nokogiri获取页面的原始HTML源代码?

时间:2012-06-06 17:49:25

标签: ruby nokogiri raw-data

我正在使用Nokogiri(Ruby Xpath库)来浏览网页上的内容。然后我发现一些网页存在问题,例如Ajax网页,这意味着当我查看源代码时,我将看不到确切的内容,例如<table>等。

如何获取实际内容的HTML代码?

1 个答案:

答案 0 :(得分:6)

如果您想要网页的原始来源,请不要使用Nokogiri。只需将网页直接作为字符串获取,然后不要将其提供给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)。