Skip to content

Instantly share code, notes, and snippets.

Embed
What would you like to do?
require 'kimurai'
class Job_Scraper < Kimurai::Base
@name= 'acc_job_scraper'
@start_urls = ["https://www.indeed.com/jobs?q=accountant&l=Washington%2C+DC"]
@engine = :mechanize
@@jobs = []
def scrape_job_details
web_page = browser.current_response
job_list = web_page.css('td#resultsCol')
job_list.css('div.jobsearch-SerpJobCard').each do |char_element|
title = char_element.css('h2 a')[0].attributes["title"].value.gsub(/\n/, "")
company = description = char_element.css('span.company').text.gsub(/\n/, "")
salary = char_element.css('div.salarySnippet').text.gsub(/\n/, "")
job_details = [title, company, salary]
@@jobs << job_details if !@@jobs.include?(job_details)
end
end
def parse(response, url:, data: {})
scrape_job_details
CSV.open('jobData.csv', "w") do |csv|
@@jobs.each { |element| csv.puts(element) }
end
@@jobs
end
end
JobScraper.crawl!
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment