0

ループ内から配列に追加する際にいくつか問題があります。配列に最後の結果を追加するだけで、前の 9 セットは失われます。

ループ内で新しい配列を作成し、新しい配列を前の配列に追加する必要があると思います。どうやってそれを行うのかわかりません。

array = Array.new

10.times do
  array2 = Array.new
  pagenum = 0
  results = Nokogiri::HTML(open("#{url}#{pagenum}"))
  results.css("div").each do |div|
    array.push div.inner_text
  end
  pagenum + 10
  array.concat(array2)
end
4

1 に答える 1

2

0同じページ ( ) を 10 回フェッチしています。

10.times do
  ...
  pagenum = 0 # <--------
  results = Nokogiri::HTML(open("#{url}#{pagenum}"))
  ...
end

以下を試してください:

array = Array.new
10.times do |pagenum|
  results = Nokogiri::HTML(open("#{url}#{pagenum}"))
  array += results.css("div").map(&:inner_text)
end
于 2013-08-29T09:34:36.080 に答える