使用 Nokogiri 仅抓取可见元素
Scrape only visible elements with Nokogiri
我正在尝试像这样使用 Nokogiri 抓取一些网站
Nokogiri::HTML(open(url_path))
当我得到这个 HTML 时,我搜索了一个值,但是 Nokogiri 选择了所有元素,包括我不需要的隐藏元素。
如何只获取 display: block
个元素或排除 display: none
个元素?
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
您可以像这样指定忽略隐藏元素:
page = Nokogiri::HTML(open(url_path))
page.at_xpath("//input[not (@type='hidden')]") # get all visible input fields
我正在尝试像这样使用 Nokogiri 抓取一些网站
Nokogiri::HTML(open(url_path))
当我得到这个 HTML 时,我搜索了一个值,但是 Nokogiri 选择了所有元素,包括我不需要的隐藏元素。
如何只获取 display: block
个元素或排除 display: none
个元素?
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
您可以像这样指定忽略隐藏元素:
page = Nokogiri::HTML(open(url_path))
page.at_xpath("//input[not (@type='hidden')]") # get all visible input fields