通过 nokogiri 使用 xpath 或 css 定位特定数据
Targeting specific data with xpath or css via nokogiri
我有 Nokogiri 解析 this ESPN website。我想在页面中搜索 "North Carolina" 和 return 紧靠其左侧的排名,在本例中为“1”。我将为我数据库中的所有团队执行此操作,但一个示例应该可以为我解决它。
我不确定 XPath 或 CSS 选择器是否最好。与北卡罗来纳州排名的跨度是
//*[@id="content"]/div[3]/div[2]/div[1]/div[1]/dl[1]/dd[1]/div[1]/span
如何搜索 "North Carolina" 和 return 对应的 span.rank
?
一个潜在的问题是,我需要语法来解释在一条括号线上有两个团队的任何情况,例如“11 格鲁吉亚”对“11 罗德岛”。这些人的排名 XPaths 与上面略有不同,第一队 span[1]
,第二队 span[2]
:
//*[@id="content"]/div[3]/div[2]/div[2]/div[1]/dl[3]/dd[1]/div[2]/span[1]
//*[@id="content"]/div[3]/div[2]/div[2]/div[1]/dl[3]/dd[1]/div[2]/span[2]
获取 span
元素的一个可能的 XPath,该元素对应于包含特定文本的 a
元素:
//div[@class='team' and a='NORTH CAROLINA']/span
我有 Nokogiri 解析 this ESPN website。我想在页面中搜索 "North Carolina" 和 return 紧靠其左侧的排名,在本例中为“1”。我将为我数据库中的所有团队执行此操作,但一个示例应该可以为我解决它。
我不确定 XPath 或 CSS 选择器是否最好。与北卡罗来纳州排名的跨度是
//*[@id="content"]/div[3]/div[2]/div[1]/div[1]/dl[1]/dd[1]/div[1]/span
如何搜索 "North Carolina" 和 return 对应的 span.rank
?
一个潜在的问题是,我需要语法来解释在一条括号线上有两个团队的任何情况,例如“11 格鲁吉亚”对“11 罗德岛”。这些人的排名 XPaths 与上面略有不同,第一队 span[1]
,第二队 span[2]
:
//*[@id="content"]/div[3]/div[2]/div[2]/div[1]/dl[3]/dd[1]/div[2]/span[1]
//*[@id="content"]/div[3]/div[2]/div[2]/div[1]/dl[3]/dd[1]/div[2]/span[2]
获取 span
元素的一个可能的 XPath,该元素对应于包含特定文本的 a
元素:
//div[@class='team' and a='NORTH CAROLINA']/span