用Nokogiri只刮掉可见的元素



我正在尝试用Nokogiri抓取一些网站。

Nokogiri::HTML(open(url_path))

当我得到这个HTML时,我搜索一个值,但是Nokogiri选择所有元素,包括我不需要的隐藏元素。

如何只获取display: block元素或排除display: none元素?

可以这样指定忽略隐藏元素:

page = Nokogiri::HTML(open(url_path))
page.at_xpath("//input[not (@type='hidden')]") # get all visible input fields
 url = "https://en.wikipedia.org/wiki/List_of_languages_by_number_of_native_speakers"
 page = Nokogiri::HTML(open(url))  
 page.css('td b a').each do |line|
   puts line.text  # "Spanish"        
 end

最新更新