抓取网络:需要数据分隔符



我正在尝试抓取分配网站作为练习,我的输出如下:

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

您忘记解析注释,这就是为什么它们在控制台中没有空格的原因。 您可以做的是添加一个each并像这样填充数组:

element.search('.note').each do |data|
array << data.inner_text
end

最新更新