语法错误与nokogiri,意外'。'在nokogiri :: CSS对象之后

问题描述 投票:0回答:1

我刚开始学习抓取,并得到错误“意外”。在'#'之后。使用pry,当我放入导致此问题的行时(即page.css(“div [@ class ='wrapper'] / div / div // ul [17] / li [4]”)。text()) , 有用。

我试图用page.xpath(“...”)替换page.css(“...”),但它不会返回任何内容。

require "nokogiri"
require "open-uri"
require "pry"

page = Nokogiri::HTML(open("https://www.website_i_want_datas_from.com"))

myscrapp_2 = []

for k in (1..500) do

    ((page.css("div[@class='wrapper']/div/div//ul[k]/li[4]").text() =~ /@/) != nil ? myscrapp_2 << page.css("div[@class='wrapper']/div/div//ul[k]/li[4]").text()
 : myscrapp_2 << page.css("div[@class='wrapper']/div/div//ul[k]/li[5]").text())

    binding.pry
end 
ruby nokogiri
1个回答
0
投票

我宁愿使用这种语法来废弃元素:

scrap = []
page.xpath('your/xpath').each do |node|
        scrap.push(node.text)
end
© www.soinside.com 2019 - 2024. All rights reserved.