Advertisement
Guest User

Untitled

a guest
Jul 30th, 2020
49
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Ruby 0.76 KB | None | 0 0
  1. HOW_MANY_PAGES = 10
  2. URL_PATTERN = "https://rostov.hh.ru/search/vacancy?L_is_autosearch=false&area=113&clusters=true&enable_snippets=true&order_by=publication_time&schedule=remote&page=%d"
  3.  
  4. def scrape
  5.   vacancy_list = []
  6.  
  7.   1.upto(HOW_MANY_PAGES).map do |i|
  8.     url = URL_PATTERN % i
  9.  
  10.     puts "Parsing page #{i}: #{url}"
  11.     page = Nokogiri::HTML(open(url) { |s| s.read })
  12.  
  13.     page.css('div.vacancy-serp-item').map do |element|
  14.       {
  15.         position: element.css('span.g-user-content').text,
  16.         salary: element.css('div.vacancy-serp-item__sidebar').text,
  17.         company: element.css('div.vacancy-serp-item__meta-info').text,
  18.         work_desc: element.css('div.g-user-content').text,
  19.         link: element.at_css('a')['href']
  20.       }
  21.     end
  22.   end
  23. end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement