【发布时间】:2012-03-27 05:02:37
【问题描述】:
有没有更好的方法来使用 Nokogiri 提取网页上的可见文本?目前我使用inner_text 方法,但是该方法将大量JavaScript 视为可见文本。我想捕捉的唯一文本是屏幕上的可见文本。
例如,在 IRB 中,如果我在 Ruby 1.9.2-p290 中执行以下操作:
require 'nokogiri'
require 'open-uri'
doc = Nokogiri::HTML(open("http://www.bodybuilding.com/store/catalog/new-products.jsp?addFacet=REF_BRAND:BRAND_MET_RX"))
words = doc.inner_text
words.scan(/\w+/)
如果我搜索“function”这个词,我发现它在列表中出现了 20 次,但是如果我转到 http://www.bodybuilding.com/store/catalog/new-products.jsp?addFacet=REF_BRAND:BRAND_MET_RX,“function”这个词不会出现在可见文本中的任何位置。
我可以忽略 JavaScript 还是有更好的方法?
【问题讨论】: