首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >抓取网页:需要数据分隔符

抓取网页:需要数据分隔符
EN

Stack Overflow用户
提问于 2018-05-23 08:53:51
回答 1查看 44关注 0票数 2

我正在尝试将allocine网站作为一个练习,我的输出如下:

代码语言:javascript
复制
Movie Name 
Rating 1 Rating 2 

例子:

代码语言:javascript
复制
Coco
4,14,6

Forrest Gump
2,64,6

相反,应该是:

代码语言:javascript
复制
Movie Name

Rating 1

Rating 2 

希望你能帮我!

代码语言:javascript
复制
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
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-05-23 08:55:08

您忘了解析这些注释,这就是为什么它们在控制台中没有空格出现的原因。您可以做的是添加一个each并填充数组,如下所示:

代码语言:javascript
复制
element.search('.note').each do |data|
  array << data.inner_text
end
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/50483950

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档