Nokogiri能解释javascript吗? – 网页搜罗

我们正在努力削减此页面上的可用性: http : //www.equityapartments.com/new-york/new-york-city-apartments/midtown-west/mantena-apartments.aspx

我需要使用我的蜘蛛在“所有平面图”上选择并获取所有可用性。 但是我相信这些数据实际上是通过Javascript请求发送的。 我的Nokogiri蜘蛛有没有办法渲染它? 或者可以模拟点击按钮的过程?

Nokogiri只是一个解析器 。 它还允许搜索内容。

要与网页交互,您需要使用其他内容,例如Watir和PhantomJS 。

将它们组合在一起:

browser = Watir::Browser.new(:phantomjs) browser.goto(your_url_above) browser.link(text: 'All floorplans').click document = Nokogiri::HTML(browser.html) document.search(...) 

是的,如果Floorplans有id / class,你可以这样做。 您可以从您的页面获取这些内容。

您将需要firepath来帮助您获取元素的XPath,然后您可以使用它迭代它们。 例如,最近我在webpagescraper上工作,从fundly.com上抓取HTML。

要获得所有标题,因为HTML中的所有titles元素都具有相同的类,我能够使用具有类名称的XPath在https://fundly.com/search/%60上获得每个标题:

 require 'rubygems' require 'nokogiri' require 'open-uri' doc.search('h4.f-width-100').each do |title| @campaign_titles << title.text end 

如果您需要更多帮助从任何网站获取值,请参阅我的上述项目。