ruby - 如何从标签中获取 "href"

标签 ruby ruby-on-rails-4 rubygems nokogiri

我正在尝试获取“href”但不能。

我有这个代码:

<h3 class="list-item-hd">
    <a href="/music/news/dwight-yoakam-and-jack-black-to-produce-new-nashville-comedy-20151009">Dwight Yoakam and Jack Black to Produce New Nashville Comedy</a>
</h3>

如何获取?

/music/news/dwight-yoakam-and-jack-black-to-produce-new-nashville-comedy-20151009

最佳答案

此代码使用 CSS 选择器获取所有 anchor 元素并打印它们的 href 属性:

require 'nokogiri'

html = <<EOT
<html>
    <h3 class="list-item-hd">
       <a href="/music/news/dwight-yoakam-and-jack-black-to-produce-new-nashville-comedy-20151009">Dwight Yoakam and Jack Black to Produce New Nashville Comedy</a>
   </h3> 
</html>
EOT

doc = Nokogiri::HTML(html)
doc.css('a').map { |link| p link['href'] }
# => "/music/news/dwight-yoakam-and-jack-black-to-produce-new-nashville-comedy-20151009"

您可以通过使用 CSS 或 XPath 选择器来实现您的目标。要了解有关 CSS 和 XPath 选择器的更多信息,我强烈建议您查看“Official Nokogiri Documentation for Searching a XML/HTML Document.

关于ruby - 如何从标签中获取 "href",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33081845/

相关文章:

ruby-on-rails-4 - Rails 应用程序,带有 Windows 身份验证的 IIS 8.5 中的 REMOTE_USER 属性

ruby - 如何将我的 ruby​​ gem 发布到我自己的存储库?

ruby - 如何在 Ruby 中解码字符串

mysql - Ruby on Rails mysql 迁移使用时区而不是日期时间

ruby - 在 ruby 中穿插功能?

ruby-on-rails - 名称错误 : uninitialized constant Faker

ruby - Bundler 在安装或更新 gem 时卡住了

ruby - 与 Google-API-Client 一起使用时,DataMapper 需要可寻址错误

ruby - 在院子里用@param 标签警告

arrays - 如何使用 Rspec 检查某物是否为数组?