【问题标题】:syntax error with nokogiri, unexpected '.' after nokogiri::CSS objectnokogiri 的语法错误,意外的“。”在 nokogiri::CSS 对象之后
【发布时间】:2019-06-14 00:59:31
【问题描述】:

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

我尝试将 page.css("...") 替换为 page.xpath("...") 但它没有返回任何内容。

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】:

    我宁愿使用这种语法来抓取元素:

    scrape = []
    page.xpath('your/xpath').each do |node|
            scrape.push(node.text)
    end
    

    【讨论】:

      猜你喜欢
      • 2022-11-16
      • 1970-01-01
      • 2011-12-28
      • 2018-06-16
      • 1970-01-01
      • 1970-01-01
      • 2021-07-08
      • 2018-07-30
      • 1970-01-01
      相关资源
      最近更新 更多