我一直在玩HPricot,但经过大量的搜索,我无法解决这个问题。
我正在尝试解析HTML页面并找到所有带有href到mp3文件的标签。到目前为止我已经
了<ul>
<% @page.search('//a[@href*=mp3]').each do |link| %>
<li>
<%= link.inner_text %>
</li>
<% end %>
</ul>
工作正常,正则表达式/href\s*=\s*\"([^\"]+)(.mp3)/
也可以。我只是不确定如何将两者结合起来。
是否有一个很好的例子或文档,有人可以指出我,以便弄清楚我可以用.search函数做些什么。
由于
答案 0 :(得分:1)
您可以使用
访问属性href
<击> link.attr( 'href' 属性)击>
作为CSS3选择器,您可能需要考虑@href$=.mp3
(而不是*=
),因为它只匹配.mp3
中结束的属性。
修改强>
你是对的,对不起。我发现,attr
只是set
的{{1}}的别名。确实是正确的方法:
Hpricot::Elements
尽管如此,我想推荐Nokogiri作为Hpricot的faster substitute。
答案 1 :(得分:0)
link.attributes['href']