检查nokogiri是否存在链接

时间:2014-03-05 18:17:27

标签: ruby-on-rails ruby ruby-on-rails-3 ruby-on-rails-3.2 nokogiri

我想知道nokogiri gem是否可以知道网页中是否存在锚点和文本的链接。

external_url = http://anydomain.com/anyurl
doc = Nokogiri::HTML(external_url.body)
.
.

external_url内的链接:

<a href="http://url1.com" >url1</a>

我有这些数据:

href = http://url1.com
link_text = url1

我需要知道nokogiri(我不能使用mechanize gem),如果有可能知道external_url内是否存在href = http://url1.comurl1

由于

1 个答案:

答案 0 :(得分:1)

您可以使用at_xpath方法:

require 'open-uri'

external_url = 'http://anydomain.com/anyurl'
doc = Nokogiri::HTML(open(external_url))

href = 'http://url1.com'
link_text = 'url1'

node = doc.at_xpath("//a[@href = '#{href}' and . = '#{link_text}']")
puts "link not found" if node.nil?