Nokogiri示例未显示数组(Ruby)

Nokogiri示例未显示数组(Ruby),ruby,nokogiri,Ruby,Nokogiri,当我尝试通过终端运行此程序时,我可以解析/显示数据,但当我键入pets_array=[] 我什么也没看见 我的代码如下: require 'HTTParty' require 'Nokogiri' require 'JSON' require 'Pry' require 'csv' page = HTTParty.get('https://newyork.craigslist.org/search/pet?s=0') parse_page = Nokogiri::HTML(page) pe

当我尝试通过终端运行此程序时,我可以解析/显示数据,但当我键入pets_array=[]

我什么也没看见

我的代码如下:

require 'HTTParty'
require 'Nokogiri'
require 'JSON'
require 'Pry'
require 'csv'

page = HTTParty.get('https://newyork.craigslist.org/search/pet?s=0')

parse_page = Nokogiri::HTML(page)

pets_array = []

parse_page.css('.content').css('.row').css('.result-title hdrlnk').map do |a|
  post_name = a.text
  pets_array.push(post_name)
end

CSV.open('pets.csv', 'w') do |csv|
  csv << pets_array
end

Pry.start(binding)
需要“HTTParty”
需要“Nokogiri”
需要“JSON”
需要“窥探”
需要“csv”
page=HTTParty.get('https://newyork.craigslist.org/search/pet?s=0')
parse_page=Nokogiri::HTML(第页)
pets_数组=[]
解析页面.css('.content').css('.row').css('.result title hdrlnk').map do | a|
post_name=a.text
pets\u数组。push(post\u名称)
结束
CSV.open('pets.CSV','w')do | CSV|

csv准确地说,您可以使用class
.result title.hdrlnk
内部的
.result info
.result row
.rows
.content

page = HTTParty.get 'https://newyork.craigslist.org/search/pet?s=0'
parse_page = Nokogiri::HTML page
pets_array = parse_page.css('.content .rows .result-row .result-info .result-title.hdrlnk').map &:text
p pets_array
# ["Mini pig", "Black Russian Terrier", "2 foster or forever homes needed Asap!", ...]
在使用map时,可以使用
pets\u数组
变量来存储每个迭代元素上的文本,无需推送

如果要写入存储在数组中的数据,则可以直接推送,无需重新定义为空数组(原因是您得到的是一个空csv文件):

需要“httparty”
需要“nokogiri”
需要“csv”
page=HTTParty.get'https://newyork.craigslist.org/search/pet?s=0'
parse_page=Nokogiri::HTML页面
pets_array=parse_page.css('.content.rows.result row.result info.result title.hdrlnk').map&:text
CSV.open('pets.CSV','w'){| CSV | CSV
$('.row')
在浏览器控制台中不显示该页面上的任何元素问您……以上的“全部”是必需的吗?您能粘贴我的代码的整个版本吗?我尝试了上述操作,但出现了错误……如果需要,我可以使用它一点。工作代码是,我省略了CSV部分。
require 'httparty'
require 'nokogiri'
require 'csv'

page = HTTParty.get 'https://newyork.craigslist.org/search/pet?s=0'
parse_page = Nokogiri::HTML page
pets_array = parse_page.css('.content .rows .result-row .result-info .result-title.hdrlnk').map &:text
CSV.open('pets.csv', 'w') { |csv| csv << pets_array }