Ruby 刮网:需要数据分隔符
我正在尝试将allocine网站作为练习,我的输出如下:Ruby 刮网:需要数据分隔符,ruby,Ruby,我正在尝试将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.all
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
需要“打开uri”
需要“nokogiri”
需要“csv”
数组=[]
因为我在1..10
url=”http://www.allocine.fr/film/meilleurs//?page=#{i} "
html\u file=open(url).read
html_doc=Nokogiri::html(html_文件)
html_doc.search('.img_side_content')。每个do元素|
数组您忘了分析注释,这就是为什么它们在控制台中显示时没有空格。
您可以做的是在每个
中添加一个,并按如下方式填充数组:
element.search('.note').each do |data|
array << data.inner_text
end
element.search('.note')。每个都有数据|
排列