我正在尝试将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发布于 2018-05-23 08:55:08
您忘了解析这些注释,这就是为什么它们在控制台中没有空格出现的原因。您可以做的是添加一个each并填充数组,如下所示:
element.search('.note').each do |data|
array << data.inner_text
endhttps://stackoverflow.com/questions/50483950
复制相似问题