我正在使用Nokogiri(Ruby Xpath 库)来 grep 网页上的内容。然后我发现一些网页有问题,例如 Ajax 网页,这意味着当我查看源代码时,我不会看到确切的内容,例如<table>
,等。
如何获取实际内容的 HTML 代码?
如果您想要网页的原始来源,请不要使用 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)。