使用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."
我该如何完成?
答案 0 :(得分:2)
就像you should never parse HTML with regular expressions一样,您应该使用nokogiri为您做脏事。
简单来说,您可以使用CSS选择器来查找标签。从那里它很容易计算:
Nokogiri::HTML(page).css('a').length
答案 1 :(得分:0)
您可以使用:
Anemone是一个Ruby库,可以快速轻松地编写蜘蛛网站的程序。它提供了一个简单的DSL,用于在站点的每个页面上执行操作,跳过某些URL,以及计算站点上给定页面的最短路径。
多线程设计使Anemone变得更快。 API使它变得简单。而Ruby的表现力使它变得强大。