Я создал веб-скребок. Мне нужно, чтобы очистить цены и спальни данного района. Иногда span.first_detail_cell
вернет Furnished
, а в остальное время он вернет цену. Мне нужно написать что-то, что может пропустить span.first_detail_cell
, если оно меблировано и посмотреть в следующей ячейке по цене. Я думаю, мне нужно написать оператор if, но не уверен в параметрах. Любая помощь будет замечательной!Веб-скребок с использованием Ruby - если statment
require 'open-uri'
require 'nokogiri'
require 'csv'
url = "https://streeteasy.com/for-rent/bushwick"
page = Nokogiri::HTML(open(url))
page_numbers = []
page.css("nav.pagination span.page a").each do |line|
page_numbers << line.text
end
max_page = page_numbers.max
beds = []
price = []
max_page.to_i.times do |i|
url = "https://streeteasy.com/for-rent/bushwick?page=#{i+1}"
page = Nokogiri::HTML(open(url))
page.css('span.first_detail_cell').each do |line|
beds << line.text
end
page.css('span.price').each do |line|
price << line.text
end
end
CSV.open("bushwick_rentals.csv", "w") do |file|
file << ["Beds", "Price"]
beds.length.times do |i|
file << [beds[i], price[i]]
end
end
Вы всегда можете 'дальше, если line.text.to_f! = 0.0' рубин' .to_f' вернет 0.0, если цена не конвертируется в число –
@ CyrilDuchon-Doris Как бы это выглядело в моей ситуации? –