0

ニュース サイトから記事を取得するためのスクレーパーを構築しています。以下は、BBC ニュース サイトの例です。

require 'nokogiri'
require 'open-uri'

doc = Nokogiri::HTML(open('http://www.bbc.co.uk/news/'))

doc.css('h2 a.story').each do |h2|

        puts "#{h2.content} - http://www.bbc.co.uk#{h2["href"]}"
end

すべてではなく、特定の数の結果を返すにはどうすればよいですか?

ノコギリのドキュメントを見てみましたが、あまり説明がありません。

4

1 に答える 1

2

これはノコギリの問題ではなく、Ruby の配列の問題です。

take最初の 3 つの結果に使用します。

doc.css('h2 a.story').take(3).each do |h2|
  puts "#{h2.content} - http://www.bbc.co.uk#{h2["href"]}"
end

4 番目から 8 番目の結果には、Range を使用します。

doc.css('h2 a.story')[3..7].each do |h2|
  puts "#{h2.content} - http://www.bbc.co.uk#{h2["href"]}"
end
于 2012-10-09T09:44:31.067 に答える