首页 文章

使用Nokogiri仅刮掉可见元素

提问于
浏览
1

我试图像这样用Nokogiri刮掉一些网站

Nokogiri::HTML(open(url_path))

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

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

2 回答

  • 0

    您可以指定忽略隐藏的元素,如下所示:

    page = Nokogiri::HTML(open(url_path))
    page.at_xpath("//input[not (@type='hidden')]") # get all visible input fields
    
  • -2
    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
    

相关问题