我有一个Nokogiri::HTML文档。它对应于 Wikipedia 文章中的内容,可能如下所示:
James Henry 'Jimmie' Lyons(生于伊利诺伊州芝加哥- 1892 年 11 月 6 日 - 1963 年 10 月 10 日)是黑人联盟的棒球运动员。他投球和打外场在 1910 年至 1925 年间
它具有相应的 HTML:
<p><b>James Henry 'Jimmie' Lyons</b> (born in <a href="/wiki/Chicago,_Illinois" title="Chicago, Illinois" class="mw-redirect">Chicago, Illinois</a> – November 6, 1892 – October 10, 1963) was a <a href="/wiki/Baseball" title="Baseball">baseball</a> player in the <a href="/wiki/Negro_League_baseball" title="Negro League baseball" class="mw-redirect">Negro Leagues</a>.<sup id="cite_ref-5" class="reference"><a href="#cite_note-5"><span>[</span>5<span>]</span></a></sup> He <a href="/wiki/Pitcher" title="Pitcher">pitched</a> and played <a href="/wiki/Outfielder" title="Outfielder">outfield</a> and between 1910 to 1925.
我想提取第一个非括号href
属性的值 <a>
标签
在这种情况下,正确的答案是提取第二个链接"/wiki/Baseball"
的href
属性,因为第一个链接的href
,/wiki/Chicago,_Illinois
, 在括号内。
请注意,<a>
标签本身可以包含括号href
s 中包含括号,因此像“从 HTML 中删除所有括号”这样的天真的方法是不正确的。
最好的方法是什么?我很确定我将需要使用 Nokogiri 的 SAX 解析器,但如果有更简单的方法,我会喜欢的。