1

使用 Ruby 学习抓取。我正在尝试计算给定页面的出站链接数量,但我不确定如何告诉 Ruby 我只想计算出站链接。

我当前的代码:

require "open-uri"

# Collect info
puts "What is your URL?"
url = gets.chomp
puts "Your URL is #{url}"
puts "Loading..."

# Check keyword count
page = open(url).read
link_total = page.scan("</a>")
# obl_count = ???
link_count = link_total.count
puts "Your site has a total of #{link_count} links."

我怎样才能完成这个?

4

2 回答 2

2

就像您永远不应该使用正则表达式解析 HTML一样,您可能应该使用nokogiri来为您完成肮脏的工作。

简单来说,您可以使用 CSS 选择器来查找标签。从那里很容易计算:

Nokogiri::HTML(page).css('a').length
于 2012-04-11T03:36:59.117 回答
0

您可以使用:

http://anemone.rubyforge.org/

Anemone 是一个 Ruby 库,可让您快速轻松地编写爬取网站的程序。它提供了一个简单的 DSL,用于在站点的每个页面上执行操作,跳过某些 URL,并计算到站点上给定页面的最短路径。

多线程设计使 Anemone 速度更快。API 使它变得简单。Ruby 的表现力使它变得强大。

于 2013-10-18T12:29:03.983 回答