无法使用nokogiri从此页面提取标签

问题描述 投票:0回答:1

到目前为止,我还没有看到我能理解的解决方案。非常新手。

这是我要抓取的HTML结构https://webfec.org.br/Utils/GetCentrobyId?cod=1

我正在尝试进行一些简单的抓取。我要寻找的是在标记内,其余的在

require 'nokogiri'
require 'rest-client'
html = RestClient.get('https://webfec.org.br/Utils/GetCentrobyId?cod=1')
doc = Nokogiri::HTML.parse(html)
p names = doc.xpath("/table/tbody/tr/td/div/span/strong/text")

输出是一个空数组

ruby nokogiri
1个回答
0
投票

因为数据是JSON而不是HTML。你可以1.将JSON转换为HTML,然后加载到nokogiri

doc=Nokogiri::HTML.parse(JSON.parse(open('https://webfec.org.br/Utils/GetCentrobyId?cod=1').read, {:symbolize_names => true})[:Data].html_safe)
doc.xpath("//table/tbody/tr[1]/td/div/span/strong").text

或者2.只需将其读取为JSON并使用正则表达式搜索字符串即可。

© www.soinside.com 2019 - 2024. All rights reserved.