6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
|
# File 'lib/remote_dev_jobs/stack_scraper.rb', line 6
def self.scrape_job_list
data = Nokogiri::HTML(open("http://careers.stackoverflow.com/jobs?searchTerm=junior&allowsremote=true"))
base = "http://careers.stackoverflow.com"
data.css("div.-item.-job").map do |job|
job_link = URI.join(base, job.css("h1 .job-link").attribute('href').value.to_s)
job_page = Nokogiri::HTML(open("#{job_link}"))
seniority = job_page.css("li.seniority").text
seniority.empty? ? seniority = nil : seniority = seniority.split("\r\n")[1].split(" ").join(" ")
job_hash = {
company: job.css("ul li.employer").text.split("\r")[1].split(" ").join(" "),
location: job.css("ul li.location").text.split("\r\n")[1].split(" ").join(" "),
position: job.css("a.job-link").attribute("title").value,
seniority: seniority,
job_url: job_link
}
end
end
|