синтаксическая ошибка с nokogiri, неожиданная '.' после нокогири :: CSS объект - PullRequest
0 голосов
/ 20 января 2019

Я только начинаю изучать чистку и получаю ошибку «неожиданно».после '#' ".Использование 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 

1 Ответ

0 голосов
/ 20 января 2019

Я бы предпочел использовать этот синтаксис для удаления элементов:

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