indeed_scraper2022 0.1.1 → 0.1.2

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 50a484cf1a272522091413129241620336f12ca94d795b7ab132dd6911802d1c
4
- data.tar.gz: 06dffee1253aa5076da9b6897bc48009687e8df86aa1a3629ee1d8a4432fdd13
3
+ metadata.gz: 19d85a0b62308f9e6c53eda22a9b26fb559e62d9528597fde6d89bb117f0deb0
4
+ data.tar.gz: 43aea0e9efb6d6ed45c1efe4e480d8422939d20f42cd5b8514f8733b6f3ebd03
5
5
  SHA512:
6
- metadata.gz: 7327fc5bf9668c4f292eabf673574bfd7ca9fbf180133896c559ac1b7415d4ee880365302d24550aba4b83ee2a709a77bdb059145310e4a5de21840fe11a5058
7
- data.tar.gz: a84b587275793166a7ac40d63607c8ea2f8dd340a3197ce782f901ca8c27de27b8eeef7f36fc9399aba286ddc399da109b2d14cd9db99b3c6a4a545e6ad9f21c
6
+ metadata.gz: bf0592ffdbaf9dbba2e84be8dcbdbf18c1d8fcb25e0e33eacbbb786decb0f8d18240371149ef9850bbde890e5b64893660f2ad2e0d149cb5e40e900802d82bb4
7
+ data.tar.gz: 60e00efcef2f86e6e64c8f02d45e943ab5cdc1090b3d361f3d6e305b4389694a6061618da693dee1d81b11dbe729f02786c06e71562b10d581b88503189f676a
checksums.yaml.gz.sig CHANGED
Binary file
@@ -44,7 +44,7 @@ class IndeedScraper2022
44
44
  # jobsearch (e.g. Full Stack Website Developer (Wordpress))
45
45
  jobtitle = div2.element("div[@class='jobsearch-JobInfoHead" \
46
46
  "er-title-container']/h1[@class='jobsearch-JobInfoHead" \
47
- "er-title']").text
47
+ "er-title']")&.text
48
48
 
49
49
  div3 = div2.element("div[@class='jobsearch-CompanyInfoCon" \
50
50
  "tainer']/div[@class='jobsearch-CompanyInfoWithoutHead" \
@@ -70,15 +70,14 @@ class IndeedScraper2022
70
70
  # jobsearch (e.g. Urgently needed)
71
71
  jobnote1 = e0.element("//div[@class='jobsearch-DesktopTag" \
72
72
  "']/div[@class='urgently-hiring']/div[@class='jobsearc" \
73
- "h-DesktopTag-text']")
74
- jobnote1 = jobnote1.text if jobnote1
73
+ "h-DesktopTag-text']")&.text
75
74
 
76
75
  # jobsearch (e.g. 10 days ago)
77
76
  datepost = e0.element("//div[@class='jobsearch-JobTab-con" \
78
- "tent']/div[@class='jobsearch-JobMetadataFooter']/div").text
77
+ "tent']/div[@class='jobsearch-JobMetadataFooter']/div")&.text
79
78
 
80
79
  jobdesc = e0.element("//div[@class='icl-u-xs-mt--md']/div[@cl" \
81
- "ass='jobsearch-jobDescriptionText']")
80
+ "ass='jobsearch-jobDescriptionText']").xml
82
81
 
83
82
  {
84
83
  title: jobtitle,
@@ -120,28 +119,28 @@ class IndeedScraper2022
120
119
 
121
120
  # job title (e.g. Software Developer)
122
121
  jobtitle = td.element("div[@class='tapItem-gutter']/h2[@" \
123
- "class='jobTitle-color-purple']/span").text
122
+ "class='jobTitle-color-purple']/span")&.text
124
123
  puts 'jobtitle: ' + jobtitle.inspect if @debug
125
124
 
126
125
  salary = td.element("div[@class='metadataContainer']/" \
127
126
  "div[@class='salary-snippet-container']/div[@class='sa" \
128
- "lary-snippet']/span")
129
- salary = salary.text if salary
127
+ "lary-snippet']/span")&.text
128
+
130
129
  puts 'salary: ' + salary.inspect if @debug
131
130
  div1 = td.element("div[@class='companyInfo']")
132
131
 
133
132
  # company name (e.g. Coda Octopus Products Ltd)
134
- company_name = div1.element("span[@class='companyName']").text
133
+ company_name = div1.element("span[@class='companyName']")&.text
135
134
 
136
135
  # company location (e.g. Edinburgh)
137
- location = div1.element("div[@class='companyLocation']").text
136
+ location = div1.element("div[@class='companyLocation']")&.text
138
137
  tbody = div.element("table[@class='jobCardShelfContainer']/tbody")
139
138
 
140
139
  div3 = tbody.element("tr[@class='underShelfFooter']/td/di" \
141
140
  "v[@class='result-footer']")
142
141
 
143
142
  # job (e.g. Our products are primarily written in C#, using...)
144
- jobsnippet = div3.element("div[@class='job-snippet']/ul/li").text
143
+ jobsnippet = div3.xpath("div[@class='job-snippet']/ul/li/text()").join("\n")
145
144
 
146
145
  # visually (e.g. Posted 14 days ago)
147
146
  dateposted = div3.element("span[@class='date']").texts
@@ -162,4 +161,18 @@ class IndeedScraper2022
162
161
  end
163
162
  end
164
163
 
164
+ class IS22Plus < IndeedScraper2022
165
+
166
+ def initialize(q: '', location: '', debug: false)
167
+ super(q: q, location: location, debug: debug)
168
+ end
169
+
170
+ def list()
165
171
 
172
+ @results.map.with_index do |x,i|
173
+ "%2d. %s" % [i,x[:title]]
174
+ end.join("\n")
175
+
176
+ end
177
+
178
+ end
data.tar.gz.sig CHANGED
Binary file
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: indeed_scraper2022
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.1
4
+ version: 0.1.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - James Robertson
@@ -78,7 +78,7 @@ dependencies:
78
78
  - !ruby/object:Gem::Version
79
79
  version: 2.8.4
80
80
  description:
81
- email: james@jamesrobertson.eu
81
+ email: digital.robertson@Gmail.com
82
82
  executables: []
83
83
  extensions: []
84
84
  extra_rdoc_files: []
@@ -96,7 +96,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
96
96
  requirements:
97
97
  - - ">="
98
98
  - !ruby/object:Gem::Version
99
- version: '0'
99
+ version: 2.3.0
100
100
  required_rubygems_version: !ruby/object:Gem::Requirement
101
101
  requirements:
102
102
  - - ">="
metadata.gz.sig CHANGED
Binary file