-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathgetData.js
More file actions
52 lines (42 loc) · 1.59 KB
/
Copy pathgetData.js
File metadata and controls
52 lines (42 loc) · 1.59 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
/* page link -> getData.js
1. iterate over every job tile
2. scrape data from every tile
3. data -> createXLSX.js
*/
let cheerio = require('cheerio');
let addToFile = require('./createXLSX');
let content = [];
// this will scrape data from each tile of the list
function getallData(html) {
let searchTool = cheerio.load(html);
// Arrays of job tiles
let jobTile = searchTool('.job_seen_beacon');
for (let i = 0; i < jobTile.length; i++) {
// postion
let name = searchTool(jobTile[i]).find('.jobTitle.jobTitle-color-purple').text();
// Package
let package = searchTool(jobTile[i]).find('.salary-snippet').text();
if (package.length == 0) package = 'Not Available';
// comapny name
let companyName = searchTool(jobTile[i]).find('span.companyName').text();
// company location
let companyLocation = searchTool(jobTile[i]).find('.companyLocation').text().trim();
// job description
let jobDescription = searchTool(jobTile[i]).find('.job-snippet li').text().trim();
if (jobDescription.length == 0) jobDescription = 'Not Available';
// object of data
let obj = {
company_Name: companyName,
company_Location : companyLocation,
Position: name,
package_offered: package,
job_description: jobDescription,
}
// append objects -> array
content.push(obj);
}
if (content.length >= 67) addToFile.appendFn(content);
}
module.exports = {
data: getallData
}