Как очистить несколько страниц с помощью нокогири и как быстро очистить с помощью рельсов - PullRequest
0 голосов
/ 27 октября 2018

Я пытаюсь очистить определенные элементы от 99 страниц веб-страницы.Я не могу за свою жизнь понять, как это сделать.Вот мой код:

require 'open-uri'
require 'nokogiri'
@title = []
html_content = open("https://www.imdb.com/list/ls057823854/? 
sort=list_order,asc&st_dt=&mode=detail&page=1").read
doc = Nokogiri::HTML(html_content)
doc.search(".lister-item-header/a").each do |title|
@title << title.text.strip

1 Ответ

0 голосов
/ 31 октября 2018

Если вы хотите собрать все заголовки, вот код утилизации.

require 'open-uri'
require 'nokogiri'
require 'json'

@title = []
url = "https://www.imdb.com/list/ls057823854/?sort=list_order,asc&st_dt=&mode=detail&page="
html_content = open(url+"1").read
doc = Nokogiri::HTML(html_content)

max = doc.search(".pagination-range").first.text.split("of")[1].gsub(",","").strip.to_i
max = (max / 100).floor + 1

doc.search(".lister-item-header/a").each do |title|
    @title << title.text.strip
end

for i in 2..max
    html_content = open(url+i.to_s).read
    doc = Nokogiri::HTML(html_content)

    doc.search(".lister-item-header/a").each do |title|
        @title << title.text.strip
    end
    sleep(1) 
end

File.open("imdb-titles.json","w") do |f|
    f.write(JSON.pretty_generate(@title))
end
...