From fdb291838bb254fc9fb7f3e6ddc290f1b9082639 Mon Sep 17 00:00:00 2001
From: Martin Donnelly
Date: Mon, 25 May 2020 00:36:38 +0100
Subject: [PATCH] Added scrapers for CWJobs ( totaljobs reskin ) and technojobs
---
grabber.js | 12 ++++++++++++
test/cwjobs.js | 27 +++++++++++++++++++++++++++
test/data/technojobs/page1 | 35 +++++++++++++++++++++++++++++++++++
test/technojobs.js | 35 +++++++++++++++++++++++++++++++++++
4 files changed, 109 insertions(+)
create mode 100644 test/cwjobs.js
create mode 100644 test/data/technojobs/page1
create mode 100644 test/technojobs.js
diff --git a/grabber.js b/grabber.js
index 9381984..ba5ce79 100644
--- a/grabber.js
+++ b/grabber.js
@@ -8,25 +8,33 @@
const CronJob = require('cron').CronJob;
const IndeedScraper = require('./scrapers/indeed');
const TotaljobsScraper = require('./scrapers/totaljobs');
+const CwjobsScraper = require('./scrapers/cwjobs');
const JobserveScraper = require('./scrapers/rss.jobserve');
const RssS1Jobs = require('./scrapers/rss.s1jobs');
+const RssTechnojobs = require('./scrapers/rss.technojobs');
(async function () {
console.log('Started..');
const indeedScraper = new IndeedScraper();
const totaljobsScraper = new TotaljobsScraper();
+ const cwjobsScraper = new CwjobsScraper();
const jobserveScraper = new JobserveScraper();
const s1jobsScraper = new RssS1Jobs();
+ const technojobsScraper = new RssTechnojobs();
new CronJob('5 6-23/3 * * *', async function() {
await indeedScraper.go('london');
await totaljobsScraper.go('london');
+ await cwjobsScraper.go('london');
await indeedScraper.go('glasgow');
await totaljobsScraper.go('glasgow');
+ await cwjobsScraper.go('glasgow');
await indeedScraper.go('edinburgh');
await totaljobsScraper.go('edinburgh');
+ await cwjobsScraper.go('edinburgh');
await indeedScraper.go('milton keynes');
await totaljobsScraper.go('milton keynes');
+ await cwjobsScraper.go('milton keynes');
}, null, true);
new CronJob('0 6-23/1 * * *', async function() {
@@ -50,5 +58,9 @@ const RssS1Jobs = require('./scrapers/rss.s1jobs');
await s1jobsScraper.go('http://www.s1jobs.com/xml/u3btnz8z2r.xml');
await s1jobsScraper.go('http://www.s1jobs.com/xml/b1d7e6c3a9a11964z3r.xml');
await s1jobsScraper.go('http://www.s1jobs.com/xml/ddeded091b6f6d33z3r.xml');
+
+ await technojobsScraper.go('https://www.technojobs.co.uk/rss.php/html%20OR%20node%20OR%20web%20OR%20sql%20OR%20delphi%20OR%20javascript%20OR%20ajax/excludekeywords/locationglasgow/radius25/termsin0/salary0/postedwithinall/jobtypeall/searchfieldRSearchIndex/page1')
+ await technojobsScraper.go('https://www.technojobs.co.uk/rss.php/html%20OR%20node%20OR%20web%20OR%20sql%20OR%20delphi%20OR%20javascript%20OR%20ajax/excludekeywords/locationLONDON/radius25/termsin0/salary0/postedwithinall/jobtypeall/searchfieldRSearchIndex/page1')
+ await technojobsScraper.go('https://www.technojobs.co.uk/rss.php/html%20OR%20node%20OR%20web%20OR%20sql%20OR%20delphi%20OR%20javascript%20OR%20ajax/excludekeywords/locationMilton%20Keynes/radius25/termsin0/salary0/postedwithinall/jobtypeall/searchfieldRSearchIndex/page1')
}, null, true);
})();
diff --git a/test/cwjobs.js b/test/cwjobs.js
new file mode 100644
index 0000000..ec74e23
--- /dev/null
+++ b/test/cwjobs.js
@@ -0,0 +1,27 @@
+/**
+ * Created by WebStorm.
+ * User: martin
+ * Date: 24/05/2020
+ * Time: 23:46
+
+ */
+const tape = require('tape');
+const _test = require('tape-promise').default; // <---- notice 'default'
+const test = _test(tape); // decorate tape
+
+const fs = require('fs');
+const cheerio = require('cheerio');
+
+const CwjobsScraper = require('../scrapers/cwjobs');
+
+const cwjobsScraper = new CwjobsScraper();
+
+// const page = fs.readFileSync('data/indeed/indeed-2020-04-16--092311.html');
+console.log(`${__dirname}`);
+// const page = fs.readFileSync(`${__dirname}/data/totaljobs/totaljobs-2020-04-16--121504.html`);
+
+test.test('Test CWJobs scraper', async t => {
+ await cwjobsScraper.go('london');
+
+ t.end();
+});
diff --git a/test/data/technojobs/page1 b/test/data/technojobs/page1
new file mode 100644
index 0000000..a2b5ef0
--- /dev/null
+++ b/test/data/technojobs/page1
@@ -0,0 +1,35 @@
+
+ html OR node OR web OR sql OR delphi OR javascript OR ajax : Search : Technojobs.co.ukhttps://www.technojobs.co.uk/search.phtml/html+OR+node+OR+web+OR+sql+OR+delphi+OR+javascript+OR+ajax/excludekeywords/locationglasgow/radius25/termsin0/salary0/postedwithinall/jobtypeall/searchfieldRSearchIndex/page1en-GBLive job search results for 'html OR node OR web OR sql OR delphi OR javascript OR ajax' performed by Technojobs.co.ukThu, 14 May 2020 08:40:00 GMT
+.Net Developer - EdinburghSalary/Rate: £35,000 - £65,000
Location: Glasgow
Edinburgh Based Role Mid-Level and Senior Developer required Salaries £35-65k My client specialises in a Financial software platform designed with the intention to reduce complexity and increase the automation in turn...
+]]>Thu, 14 May 2020 08:40:00 GMT
+Dynamics AX Support Consultant &pound;40,000 - Glasgow Salary/Rate:
Location: Glasgow
Dynamics AX Support Consultant £40,000 - Glasgow Active requirement for an AX Support Developer to join the team at one of the UKs leading MS Gold Partner's. Based from their growing Glasgow offices, the role offers a great...
My client is a global engineering company bringing over a century of experience within their cutting edge developments through their digital solutions. Their products help multiple sectors improve their everyday processes. You...
My market leading client first broke into the market back in 2011 and have since grown from strength to strength providing a one of a kind service to the retail market. After a recent global expansion they are looking to grow their Glasgow...
My market leading client first broke into the market back in 2011 and have since grown from strength to strength providing a one of a kind service to the retail market. After a recent global expansion they are looking to grow their Glasgow...
+]]>Mon, 04 May 2020 16:58:00 GMT
+Dynamics NAV Consultant - Home Based - up to &pound;70,000 Salary/Rate:
Location: Glasgow
Dynamics NAV Consultant - Home Based - up to £70,000 I am currently recruiting for an enthusiastic Dynamics NAV Consultant to join my client who specialise in providing the most progressive solutions for Microsoft Dynamics...
+]]>Mon, 04 May 2020 10:33:00 GMT
+DevOps Engineer - Glasgow and EdinburghSalary/Rate: £25,000 - £50,000
Location: Glasgow
I am currently working with a client in Glasgow looking to hire AWS Developers / Consultants to join their expanding team. They are a rapidly growing consultancy based in Glasgow with clients in Edinburgh and across the central belt....
Dynamics AX (365) Functional Consultant - £45k-£75k An internationally renowned MS Gold Partner are currently resourcing for an AX Functional Consultants to deliver multiple AX 365 projects. The successful...
+]]>Mon, 27 Apr 2020 11:19:00 GMT
+Dynamics NAV Developer - End User Salary/Rate: £40,000 - £60,000
Location: Paisley
Dynamics NAV Developer, Paisley, £45-60K + Benefits Ahead of a multi-site Dynamics NAV upgrade project scheduled to begin in the coming months, a nationally-recognised business are now recruiting for an ambitious Dynamics...
PHP Developer - Glasgow My Client is looking for an enthusiastic and talented PHP Developer to join their growing development team. You'll be working with (and learning from!) a skilled and experienced team on some exciting projects,...
PHP Developer - Glasgow My Client is looking for an enthusiastic and talented PHP Developer to join their growing development team. You'll be working with (and learning from!) a skilled and experienced team on some exciting projects,...