我试图将allocine网站作为一个练习,我的输出如下:
Movie Name
Rating 1 Rating 2
示例:
Coco
4,14,6
Forrest Gump
2,64,6
应该是:
Movie Name
Rating 1
Rating 2
希望你能帮助我!
require 'open-uri'
require 'nokogiri'
require 'csv'
array = []
for i in 1..10
url = "http://www.allocine.fr/film/meilleurs//?page=#{i}"
html_file = open(url).read
html_doc = Nokogiri::HTML(html_file)
html_doc.search('.img_side_content').each do |element|
array << element.search('.no_underline').inner_text
array << element.search('.note').inner_text
end
end
puts array
csv_options = { col_sep: ',', force_quotes: true, quote_char: '"' }
filepath = 'allocine.csv'
CSV.open(filepath, 'wb', csv_options) do |csv|
array.each { |item| csv << [item] }
end
答案 0 :(得分:2)
你忘了解析笔记,这就是他们在控制台中没有空格的原因。
您可以做的是添加each
并填充您的数组:
element.search('.note').each do |data|
array << data.inner_text
end