首页 > 解决方案 > 如何从 Nokogiri 返回选择的短语

问题描述

我正在尝试解析从我正在抓取的网站的 HTML 输出的字符串。

我在用着:

 officer.race = doc.css("dd").map {|r| r.text.strip}

但这会在第一页输出军官的每个属性:

Rank POLICE OFFICER Race White Hispanic Gender F Number of Photos 0 Rank POLICE OFFICER Race White Gender M Number of Photos 0

等等。

我只需要第一页上所有 20 名军官的种族来提供给我的军官类的种族属性访问器。据我所知,该网站的 HTML 并没有真正让我进一步指定。

有没有办法做到这一点?还是我看错了问题?

标签: htmlrubyweb-scrapingcommand-line-interfacenokogiri

解决方案


您的选择器不够具体,因此它会选择每个dd.

.list-group-item > div.row > div:last-child > .row > div:first-child > dl > dd:last-child

您正在寻找遍历.list-group-item,然后到.row,然后到该div元素内的最后一个,然后是 child .row,然后是第一个div,然后是dl,然后是最后一个dd


推荐阅读