有沒有更好的方法來提取使用Nokogiri的網頁上的可見文本?目前我使用inner_text
方法,但是該方法將很多JavaScript視爲可見文本。我想要捕捉的唯一文本是屏幕上的可見文本。Nokogiri只抓取可見inner_text
例如,在內部評級法,如果我做的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+/)
如果我搜索單詞「功能」我看到它出現20次在列表中,但是如果我去http://www.bodybuilding.com/store/catalog/new-products.jsp?addFacet=REF_BRAND:BRAND_MET_RX,「功能」一詞不會出現在可見文本的任何地方。
我可以忽略JavaScript還是有更好的方法來做到這一點?
太棒了!這工作好多了,謝謝! – akaDanPaul 2012-03-13 00:41:56
這有效,但你應該在條件中避免使用'和',因爲它是用於控制流的,並且具有與預期的&&操作符不同的操作順序。另外,還有一個'!〜'運算符可以用來代替'not =〜' – Ben 2017-06-02 21:51:13