0

我正在尝试使用 Nokogiri 和 XPath 从以下 HTML 中提取信息。

<p>Friday, February 1<br><strong>Apple <br> Orange</strong></p>

e.xpath('./text()[following-sibling::br]')

给我日期就好了。然后我想抓取强节点内的文本并在 br 上拆分。可能有许多水果被 br 隔开,也可能只有一个没有 br。理想情况下,我希望在 xpath 而不是代码中完成此操作,因为我本质上是通过 JSON 定义一堆解析器。

现在我在想我应该使用标记器函数并在强标记中传递文本。我认为应该是这样的:

e.xpath('./strong[fn::tokenize(.,"<br>")]')

并且也尝试过

e.xpath('fn::tokenize(./strong,"<br>")')

但我得到:

.../gems/nokogiri-1.5.6/lib/nokogiri/xml/node.rb:159:in `evaluate': Invalid expression: ./strong/text()[fn::tokenize(.,"br")] (Nokogiri::XML::XPath::SyntaxError)

我在(第 139 行)发生错误的方法的文档之后对我的用法进行建模:

node.xpath('.//title[regex(., "\w+")]',...
4

0 回答 0