Feature crawler data
Crawler data and import to database.
{{ resolvedDiscussionCount }}/{{ discussionCount }} {{ resolvedCountText }} resolved
-
Toggle commit list
-
Toggle commit list
-
-
db/migrate/20170628020034_create_applies.rb 0 → 100644
1 class CreateApplies < ActiveRecord::Migration[5.1] 2 def change 3 create_table :applies do |t| 4 t.references :user, index: true 5 t.references :job, index: true 6 t.datetime :applied_at 7 t.string :ip_address 8 t.string :user_agrent -
Master
-
-
-
-
Toggle commit list
-
-
lib/tasks/careerbuilder.rb 0 → 100644
107 108 job_expiry_date = doc.xpath("//ul[@class='DetailJobNew']/li/p[span/text()='Hết hạn nộp: ']/text()").to_s 109 110 city = City.find_by_name(job_location) 111 112 job = Job.new 113 job.name = job_name 114 job.description = job_description 115 job.salary = job_salary 116 job.city = city 117 job.company = company 118 job.level = job_level 119 job.experience = job_experience 120 job.status = 0 121 job.expiry_date = job_expiry_date.to_datetime 122 job.save if Job.where(name: job_name, city: city, company: company).blank? -
-
Master
fixed
-
lib/tasks/careerbuilder.rb 0 → 100644
115 job.salary = job_salary 116 job.city = city 117 job.company = company 118 job.level = job_level 119 job.experience = job_experience 120 job.status = 0 121 job.expiry_date = job_expiry_date.to_datetime 122 job.save if Job.where(name: job_name, city: city, company: company).blank? 123 124 job_category.split(',').each do |category| 125 category = Category.find_by_name(category) 126 JobCategory.new(job: job, category: category).save if JobCategory.where(job: job, category: category).blank? 127 end 128 end 129 130 def import_area -
-
Master
fixed
-
lib/tasks/careerbuilder.rb 0 → 100644
126 JobCategory.new(job: job, category: category).save if JobCategory.where(job: job, category: category).blank? 127 end 128 end 129 130 def import_area 131 Area.new(name: 'Viet Nam').save if Area.where(name: 'Viet Nam').blank? 132 Area.new(name: 'International').save if Area.where(name: 'International').blank? 133 rescue StandardError => e 134 logger.error("[method: ] #{import_category}") 135 logger.error(e.message) 136 logger.error(e.backtrace) 137 end 138 139 def import_category(doc) 140 categories = doc.xpath("//div[@class='s-home2']/div[@id='NewSearchJob3']/form/div[@class='search-horizontal']/div[@class='ui-widget box_multiSelect_industry']/select/option") 141 categories = categories.slice(1..categories.size - 2) -
-
Master
fixed
-
lib/tasks/careerbuilder.rb 0 → 100644
140 categories = doc.xpath("//div[@class='s-home2']/div[@id='NewSearchJob3']/form/div[@class='search-horizontal']/div[@class='ui-widget box_multiSelect_industry']/select/option") 141 categories = categories.slice(1..categories.size - 2) 142 categories.each do |category| 143 Category.new(name: category.text.strip).save if Category.where(name: category.text.strip).blank? 144 end 145 rescue StandardError => e 146 logger.error("[method: ] #{import_category}") 147 logger.error(e.message) 148 logger.error(e.backtrace) 149 end 150 151 def import_city(doc) 152 cities = doc.xpath("//div[@class='s-home2']//div[@id='NewSearchJob3']/form/div[@class='search-horizontal']/div[@class='ui-widget box_multiSelect_location']/select/option").drop(1) 153 area_id = 1 154 cities.each do |city| 155 area_id = 2 if city.text == 'Angola' -
-
Master
fixed
-
lib/tasks/careerbuilder.rb 0 → 100644
1 require 'thread' 2 require 'open-uri' 3 require 'nokogiri' 4 require 'logger' 5 6 class Careerbuilder 7 attr_reader :domain, :thread_count, :logger 8 9 def initialize(domain, thread_count = 1) 10 @links = [url: 'http://careerbuilder.vn/viec-lam/tat-ca-viec-lam-vi.html', handler: :top] * thread_count 11 @crawled = [] 12 @mutex = Mutex.new 13 @domain = domain -
Master
fixed
-
-
db/migrate/20170628014941_create_cities.rb 0 → 100644
-
config/schedule.rb 0 → 100644
7 # 8 # set :output, "/path/to/my/cron_log.log" 9 # 10 # every 2.hours do 11 # command "/usr/bin/some_great_command" 12 # runner "MyModel.some_method" 13 # rake "some:great:rake:task" 14 # end 15 # 16 # every 4.days do 17 # runner "AnotherModel.prune_old_records" 18 # end 19 20 # Learn more: http://github.com/javan/whenever 21 every 1.day, at: '12:00 pm' do 22 runner 'MyModel.task_to_run' -
-
Master
fixed
-
Toggle commit list
-
Toggle commit list
-
Toggle commit list
-
Toggle commit list
-
lib/tasks/crawler.rake 0 → 100644
1 namespace :crawler do 2 desc 'client crawler' 3 task load: :environment do 4 require "#{Rails.root}/lib/tasks/careerbuilder" -
-
Master
fixed
-
-
merged
Toggle commit list