diff --git a/.eslintrc.json b/.eslintrc.json
index c8543bc..17d8eb1 100644
--- a/.eslintrc.json
+++ b/.eslintrc.json
@@ -1,13 +1,13 @@
{
"parserOptions": {
- "ecmaVersion": 6,
+ "ecmaVersion": 2017,
"sourceType": "module",
"ecmaFeatures": {
"jsx": false
}
},
"env": {
- "browser": true,
+ "browser": false,
"node": true,
"es6": true
},
@@ -27,7 +27,7 @@
"func-names": 1,
"indent": ["error", 2, { "SwitchCase": 1 }],
"lines-around-comment": ["error", { "beforeBlockComment": true, "allowArrayStart": true }],
- "max-len": [1, 120, 2], // 2 spaces per tab, max 80 chars per line
+ "max-len": [1, 180, 2], // 2 spaces per tab, max 80 chars per line
"new-cap": 1,
"newline-before-return": "error",
"no-array-constructor": 1,
@@ -47,7 +47,9 @@
"semi": [1, "always"],
"space-before-blocks": [1, "always"],
"space-infix-ops": 1,
- "vars-on-top": 1
+ "vars-on-top": 1,
+ "no-multiple-empty-lines": ["error", { "max": 1, "maxEOF": 1 }],
+ "spaced-comment": ["error", "always", { "markers": ["/"] }]
}
-}
+}
\ No newline at end of file
diff --git a/app.js b/app.js
index 05cbaba..5e604a6 100644
--- a/app.js
+++ b/app.js
@@ -6,6 +6,8 @@ const log4js = require('log4js');
const logger = log4js.getLogger();
const cron = require('node-cron');
+const retriever = require('./libs/retriever');
+
logger.level = 'debug';
function run(data) {
@@ -21,7 +23,7 @@ Other: ${v1.otherLine} stars: ${v1.otherStars}
pusher.push(msg);
logger.debug(msg);
- loader.save(data);
+ // loader.save(data);
}
function go() {
@@ -29,11 +31,16 @@ function go() {
loader.load(run);
}
-
-cron.schedule('10 13 * * 2,5', () => {
+cron.schedule('10 15 * * 2,5', () => {
go();
return -1;
});
+cron.schedule('45 9 * * 3,6', () => {
+ retriever();
+
+ return -1;
+});
+
logger.info('Lot V3 started...');
diff --git a/data/data.json b/data/data.json
index cdd6e55..a26a24e 100644
--- a/data/data.json
+++ b/data/data.json
@@ -1 +1 @@
-[["2017-09-01",3,7,8,14,4,5,8],["2017-08-29",4,12,15,32,38,1,5],["2017-08-25",1,5,7,15,47,9,12],["2017-08-22",3,10,12,17,27,3,5],["2017-08-18",2,24,39,42,45,2,8],["2017-08-15",10,14,30,35,46,4,10],["2017-08-11",18,28,39,46,48,5,12],["2017-08-08",15,25,26,40,41,4,5],["2017-08-04",29,30,36,40,41,2,9],["2017-08-01",14,21,24,29,30,8,10],["2017-07-28",5,9,29,31,41,2,4],["2017-07-25",12,14,43,44,48,2,11],["2017-07-21",1,8,9,26,49,5,9],["2017-07-18",1,25,27,41,45,5,7],["2017-07-14",11,14,20,21,47,7,10],["2017-07-11",14,22,26,42,50,8,10],["2017-07-07",11,20,35,37,45,3,6],["2017-07-04",10,22,25,37,49,5,8],["2017-06-30",17,35,39,47,50,6,8],["2017-06-27",9,17,21,28,45,1,3],["2017-06-23",3,4,21,31,38,3,7],["2017-06-20",11,18,26,43,44,8,10],["2017-06-16",15,17,38,41,42,9,12],["2017-06-13",3,12,22,27,49,4,11],["2017-06-09",9,20,27,39,43,10,11],["2017-06-06",20,22,25,37,40,3,7],["2017-06-02",8,10,24,33,42,3,9],["2017-05-30",7,12,27,38,48,6,9],["2017-05-26",5,7,26,36,39,2,10],["2017-05-23",8,15,25,27,42,1,4],["2017-05-19",9,11,12,19,30,4,9],["2017-05-16",8,11,15,20,30,3,8],["2017-05-12",2,20,28,29,44,3,9],["2017-05-05",3,7,30,35,43,1,3],["2017-05-02",6,19,23,25,27,11,12],["2017-04-28",14,20,25,30,39,2,8],["2017-04-25",9,11,19,32,43,3,9],["2017-04-21",2,13,16,22,49,4,5],["2017-04-18",17,22,31,38,45,5,12],["2017-04-14",4,14,20,23,33,6,10],["2017-04-11",5,21,22,31,49,2,8],["2017-04-07",2,10,19,35,50,6,7],["2017-04-04",1,9,24,33,34,2,6],["2017-03-31",17,24,26,28,45,4,12],["2017-03-28",9,13,31,33,46,6,10],["2017-03-24",2,17,21,27,34,5,9],["2017-03-21",1,20,23,44,47,4,11],["2017-03-17",6,10,19,29,36,3,9],["2017-03-14",3,5,21,36,44,3,6],["2017-03-10",31,36,38,47,49,8,11],["2017-03-07",6,37,41,48,50,4,5],["2017-03-03",2,11,29,30,47,1,12],["2017-02-28",10,20,31,35,42,2,12],["2017-02-24",2,4,13,22,43,8,9],["2017-02-21",13,19,41,45,49,3,4],["2017-02-17",19,25,33,36,48,2,9],["2017-02-14",2,10,24,40,44,3,10],["2017-02-10",7,21,26,35,43,2,9],["2017-02-07",4,10,31,38,44,8,10],["2017-02-03",3,4,15,46,50,5,9],["2017-01-31",3,4,17,23,44,6,9],["2017-01-27",17,20,28,45,48,5,9],["2017-01-24",1,5,7,17,23,3,8],["2017-01-20",10,17,27,31,49,3,5],["2017-01-17",4,16,25,43,47,2,10],["2017-01-13",3,7,16,26,50,4,7],["2017-01-06",10,14,18,21,49,9,11],["2017-01-03",19,23,27,34,49,1,11],["2016-12-27",3,22,25,32,39,7,12],["2016-12-23",4,16,20,39,46,2,5],["2016-12-20",13,15,17,21,27,2,3],["2016-12-16",6,10,30,41,45,4,11],["2016-12-13",14,28,29,48,50,2,8],["2016-12-09",6,12,28,37,40,1,5],["2016-12-06",1,7,11,27,45,4,9],["2016-12-02",6,11,23,31,32,2,12],["2016-11-25",5,11,17,23,28,10,11],["2016-11-22",5,10,33,34,47,2,10],["2016-11-18",3,12,27,32,47,6,8],["2016-11-15",7,15,36,42,48,3,7],["2016-11-11",3,22,23,38,49,2,9],["2016-11-08",5,9,47,49,50,8,9],["2016-11-04",7,11,12,44,48,3,7],["2016-11-01",6,10,20,29,37,1,9],["2016-10-28",10,16,19,23,43,2,8],["2016-10-25",3,15,20,21,28,1,5],["2016-10-21",9,20,23,44,48,8,10],["2016-10-18",2,17,21,25,27,6,9],["2016-10-14",7,13,19,31,34,1,11],["2016-10-11",5,12,20,24,37,4,11],["2016-10-07",2,12,20,27,30,9,11],["2016-10-04",4,7,14,34,38,4,11],["2016-09-30",17,35,37,43,44,2,10],["2016-09-27",6,9,13,39,41,2,12],["2016-09-23",14,16,39,42,49,3,9],["2016-09-20",1,4,10,41,45,6,9],["2016-09-16",5,8,14,22,32,2,11],["2016-09-13",4,7,16,35,44,1,3],["2016-09-09",4,11,15,17,28,1,3],["2016-09-06",12,24,30,34,45,7,10],["2016-09-02",8,16,32,40,50,2,11],["2016-08-30",13,16,29,35,42,6,8],["2016-08-26",1,9,28,30,48,7,8],["2016-08-23",2,23,31,37,45,4,8],["2016-08-19",5,6,22,25,34,5,7],["2016-08-16",2,26,34,37,46,4,8],["2016-08-12",2,15,28,36,50,2,11],["2016-08-09",12,19,43,44,45,5,10],["2016-08-05",16,19,24,35,37,2,7],["2016-08-02",2,8,27,38,46,2,6],["2016-07-29",1,21,26,40,50,2,4],["2016-07-26",3,10,13,45,49,2,11],["2016-07-22",7,24,26,37,45,5,9],["2016-07-19",19,24,28,36,37,3,6],["2016-07-15",2,11,13,14,21,1,8],["2016-07-12",3,7,26,33,41,2,10],["2016-07-08",8,12,18,33,44,4,8],["2016-07-05",1,10,29,38,48,3,4],["2016-07-01",2,11,13,40,50,1,10],["2016-06-28",26,32,37,43,49,4,5],["2016-06-24",11,19,27,28,39,3,10],["2016-06-21",5,17,32,35,49,1,5],["2016-06-17",1,7,18,27,43,4,8],["2016-06-14",13,34,39,42,50,9,11],["2016-06-10",14,21,35,42,43,7,9],["2016-06-07",19,26,35,45,49,2,5],["2016-06-03",7,23,31,33,39,6,10],["2016-05-31",6,12,26,30,48,6,7],["2016-05-27",13,25,27,43,46,4,8],["2016-05-24",16,17,23,34,37,6,9],["2016-05-20",9,14,30,41,45,4,9],["2016-05-17",15,27,32,36,39,3,10],["2016-05-13",7,15,28,31,42,10,11],["2016-05-10",2,26,27,40,49,5,10],["2016-05-06",32,34,40,45,48,1,10],["2016-05-03",8,23,24,34,38,3,7],["2016-04-29",4,5,25,28,43,6,11],["2016-04-26",10,17,31,32,42,2,5],["2016-04-22",17,26,32,34,43,2,10],["2016-04-19",11,14,15,27,44,2,7],["2016-04-15",13,14,32,37,48,1,7],["2016-04-12",1,5,9,22,38,2,10],["2016-04-08",6,8,26,43,49,6,10],["2016-04-05",3,5,9,19,40,2,5],["2016-04-01",2,16,23,25,49,6,9],["2016-03-29",1,4,19,25,36,3,11],["2016-03-25",12,19,36,42,43,5,8],["2016-03-22",12,15,26,42,49,5,8],["2016-03-18",14,19,21,24,49,5,11],["2016-03-15",5,7,10,34,44,2,10],["2016-03-11",1,21,26,40,43,6,9],["2016-03-08",1,8,9,14,23,1,7],["2016-03-04",6,9,14,23,40,1,5],["2016-03-01",4,7,13,28,37,10,11],["2016-02-26",5,13,15,33,50,9,11],["2016-02-23",23,25,32,37,42,1,11],["2016-02-19",13,14,30,32,39,3,9],["2016-02-16",3,10,22,37,50,6,10],["2016-02-12",3,20,28,31,49,2,5],["2016-02-09",6,9,13,28,37,4,5],["05-Feb-2016",3,27,32,41,46,4,8],["02-Feb-2016",36,21,10,6,9,6,2],["29-Jan-2016",29,32,23,1,5,1,7],["26-Jan-2016",15,40,24,48,38,2,9],["22-Jan-2016",27,10,30,47,12,9,8],["19-Jan-2016",2,30,38,43,46,7,2],["15-Jan-2016",43,38,19,10,46,1,11],["12-Jan-2016",2,10,30,44,1,1,8],["08-Jan-2016",35,33,26,40,5,3,8],["05-Jan-2016",6,10,31,36,39,6,10],["01-Jan-2016",4,37,38,39,44,4,7]]
+[["2019-02-05",14,25,31,37,43,2,3],["2019-02-01",3,21,26,41,46,1,6],["2019-01-29",14,24,26,32,39,3,8],["2019-01-25",1,6,13,15,16,6,10],["2019-01-22",9,23,29,41,49,8,10],["2019-01-18",5,6,16,30,46,5,10],["2019-01-15",22,25,29,33,35,3,6],["2019-01-11",1,19,31,39,48,1,6],["2019-01-08",3,19,22,31,32,2,11],["2019-01-04",7,11,19,27,37,6,10],["2019-01-01",1,8,11,25,28,4,6],["2018-12-28",13,16,34,35,45,10,12],["2018-12-25",4,5,8,31,43,2,9],["2018-12-21",2,12,15,34,50,3,4],["2018-12-18",1,9,18,39,48,5,7],["2018-12-14",12,29,38,42,44,2,12],["2018-12-11",4,7,13,23,42,1,3],["2018-12-07",11,17,26,37,48,1,10],["2018-12-04",19,20,21,42,45,8,9],["2018-11-30",3,10,12,23,26,1,12],["2018-11-27",4,16,17,18,32,2,11],["2018-11-23",5,8,25,26,30,3,10],["2018-11-20",6,19,39,45,48,7,12],["2018-11-16",9,10,13,28,41,1,12],["2018-11-13",2,7,10,13,42,3,6],["2018-11-09",14,17,32,37,49,11,12],["2018-11-06",14,24,36,40,43,2,9],["2018-11-02",5,15,17,37,44,7,11],["2018-10-30",17,23,27,43,44,1,12],["2018-10-26",5,18,21,31,35,6,9],["2018-10-23",1,2,5,21,32,2,12],["2018-10-19",1,3,29,47,48,3,12],["2018-10-16",15,28,37,40,42,1,6],["2018-10-12",4,9,12,31,43,5,8],["2018-10-09",3,12,36,44,45,8,11],["2018-10-05",8,16,24,26,35,3,11],["2018-10-02",7,17,29,37,45,3,11],["2018-09-28",2,4,8,27,50,2,9],["2018-09-25",6,15,20,30,38,4,7],["2018-09-21",5,7,21,25,37,3,4],["2018-09-18",3,8,10,32,45,4,12],["2018-09-14",1,3,33,40,45,3,4],["2018-09-11",9,18,32,38,46,2,3],["2018-09-07",4,23,27,31,50,1,8],["2018-09-04",5,14,28,30,47,4,11],["2018-08-31",4,30,31,38,42,4,6],["2018-08-28",4,16,32,42,46,8,12],["2018-08-24",3,14,31,36,50,1,12],["2018-08-21",16,23,42,43,49,10,12],["2018-08-17",2,15,18,24,43,8,12],["2018-08-14",1,15,18,25,31,9,11],["2018-08-10",18,20,36,43,44,3,9],["2018-08-07",16,28,29,30,36,8,10],["2018-08-03",7,26,36,38,43,6,12],["2018-07-31",20,25,34,42,45,6,11],["2018-07-27",11,17,22,23,41,6,11],["2018-07-24",2,4,23,39,40,3,9],["2018-07-20",2,15,40,43,46,3,6],["2018-07-17",4,6,27,48,50,1,11],["2018-07-13",1,4,14,21,49,2,12],["2018-07-10",3,8,26,33,45,7,10],["2018-07-06",8,30,33,38,48,2,10],["2018-07-03",1,12,15,29,48,3,5],["2018-06-29",15,21,23,40,48,3,12],["2018-06-26",15,16,20,34,50,4,7],["2018-06-22",14,25,39,41,44,2,8],["2018-06-19",7,19,26,42,50,4,9],["2018-06-15",23,26,33,38,49,1,12],["2018-06-12",7,21,23,36,38,6,8],["2018-06-08",8,19,32,43,46,2,8],["2018-06-05",9,15,22,39,46,4,5],["2018-06-01",17,18,24,29,40,4,5],["2018-05-29",6,11,20,38,43,2,4],["2018-05-25",13,15,16,28,41,4,5],["2018-05-22",1,11,37,41,48,8,12],["2018-05-18",5,8,10,13,31,3,6],["2018-05-15",4,16,20,31,39,2,12],["2018-05-11",3,22,34,49,50,8,11],["2018-05-08",17,25,35,39,44,2,5],["2018-05-04",6,12,23,39,45,9,12],["2018-05-01",6,15,17,42,48,4,6],["2018-04-27",12,24,40,41,46,5,12],["2018-04-24",20,23,28,30,44,3,7],["2018-04-20",3,16,25,39,44,7,11],["2018-04-17",15,27,33,39,50,4,6],["2018-04-13",5,25,34,48,50,6,7],["2018-04-10",14,27,39,46,48,11,12],["2018-04-06",1,29,33,45,47,4,8],["2018-04-03",3,8,16,40,43,5,8],["2018-03-30",12,17,28,35,47,7,11],["2018-03-27",17,20,23,40,46,9,10],["2018-03-23",5,7,11,46,50,8,11],["2018-03-20",26,29,37,39,44,9,11],["2018-03-16",4,17,24,27,31,10,11],["2018-03-13",9,11,13,33,49,6,12],["2018-03-09",9,14,21,32,44,1,12],["2018-03-06",15,20,26,31,44,2,9],["2018-03-02",2,7,34,45,48,1,12],["2018-02-27",3,31,41,48,50,8,11],["2018-02-23",10,17,18,28,47,3,7],["2018-02-20",6,14,19,25,29,5,11],["2018-02-16",10,12,23,32,50,4,10],["2018-02-13",10,13,17,21,44,1,10],["2018-02-09",22,31,36,38,44,1,11],["2018-02-06",8,17,28,34,38,6,12],["2018-02-02",14,34,36,39,48,2,3],["2018-01-30",11,15,21,27,35,4,5],["2018-01-26",6,15,24,28,48,4,9],["2018-01-23",5,8,9,23,24,7,8],["2018-01-19",3,8,17,44,50,2,7],["2018-01-16",20,23,31,34,46,3,12],["2018-01-12",13,21,23,30,45,4,6],["2018-01-09",6,12,15,38,49,2,9],["2018-01-05",2,5,20,38,41,4,8],["2018-01-02",10,20,21,28,48,1,8],["2017-12-29",4,8,22,23,48,1,12],["2017-12-26",4,17,30,43,44,2,10],["2017-12-22",5,24,30,31,43,3,6],["2017-12-19",8,15,30,38,46,4,7],["2017-12-15",25,30,31,42,50,2,11],["2017-12-12",20,37,39,44,50,4,8],["2017-12-08",4,22,30,32,34,3,4],["2017-12-05",11,36,43,44,48,2,7],["2017-12-01",5,24,29,35,46,11,12],["2017-11-28",1,6,12,18,42,2,7],["2017-11-24",19,24,28,30,50,3,10],["2017-11-21",2,10,14,28,31,5,7],["2017-11-17",20,26,35,36,42,5,12],["2017-11-14",14,16,39,40,41,8,10],["2017-11-10",13,22,29,36,37,1,9],["2017-11-07",7,19,20,37,41,2,12],["2017-11-03",5,12,17,33,41,4,9],["2017-10-31",1,12,36,43,46,3,5],["2017-10-27",3,16,23,32,39,1,4],["2017-10-24",9,11,13,27,33,7,10],["2017-10-20",4,17,23,27,30,3,8],["2017-10-17",13,17,19,26,36,2,3],["2017-10-13",23,29,37,45,50,5,11],["2017-10-10",4,21,34,36,37,3,6],["2017-10-06",1,9,15,19,25,1,7],["2017-10-03",6,24,32,48,50,1,5],["2017-09-29",7,18,19,32,48,3,7],["2017-09-26",1,29,40,41,48,6,12],["2017-09-22",6,11,31,39,42,1,3],["2017-09-19",1,8,21,30,45,2,3],["2017-09-15",13,18,37,44,49,9,12],["2017-09-12",10,17,27,29,35,4,11],["2017-09-08",9,24,42,47,49,1,5],["2017-09-05",6,9,18,28,29,1,9],["2017-09-01",3,7,8,14,4,5,8],["2017-08-29",4,12,15,32,38,1,5],["2017-08-25",1,5,7,15,47,9,12],["2017-08-22",3,10,12,17,27,3,5],["2017-08-18",2,24,39,42,45,2,8],["2017-08-15",10,14,30,35,46,4,10],["2017-08-11",18,28,39,46,48,5,12],["2017-08-08",15,25,26,40,41,4,5],["2017-08-04",29,30,36,40,41,2,9],["2017-08-01",14,21,24,29,30,8,10],["2017-07-28",5,9,29,31,41,2,4],["2017-07-25",12,14,43,44,48,2,11],["2017-07-21",1,8,9,26,49,5,9],["2017-07-18",1,25,27,41,45,5,7],["2017-07-14",11,14,20,21,47,7,10],["2017-07-11",14,22,26,42,50,8,10],["2017-07-07",11,20,35,37,45,3,6],["2017-07-04",10,22,25,37,49,5,8],["2017-06-30",17,35,39,47,50,6,8],["2017-06-27",9,17,21,28,45,1,3],["2017-06-23",3,4,21,31,38,3,7],["2017-06-20",11,18,26,43,44,8,10],["2017-06-16",15,17,38,41,42,9,12],["2017-06-13",3,12,22,27,49,4,11],["2017-06-09",9,20,27,39,43,10,11],["2017-06-06",20,22,25,37,40,3,7],["2017-06-02",8,10,24,33,42,3,9],["2017-05-30",7,12,27,38,48,6,9],["2017-05-26",5,7,26,36,39,2,10],["2017-05-23",8,15,25,27,42,1,4],["2017-05-19",9,11,12,19,30,4,9],["2017-05-16",8,11,15,20,30,3,8],["2017-05-12",2,20,28,29,44,3,9],["2017-05-05",3,7,30,35,43,1,3],["2017-05-02",6,19,23,25,27,11,12],["2017-04-28",14,20,25,30,39,2,8],["2017-04-25",9,11,19,32,43,3,9],["2017-04-21",2,13,16,22,49,4,5],["2017-04-18",17,22,31,38,45,5,12],["2017-04-14",4,14,20,23,33,6,10],["2017-04-11",5,21,22,31,49,2,8],["2017-04-07",2,10,19,35,50,6,7],["2017-04-04",1,9,24,33,34,2,6],["2017-03-31",17,24,26,28,45,4,12],["2017-03-28",9,13,31,33,46,6,10],["2017-03-24",2,17,21,27,34,5,9],["2017-03-21",1,20,23,44,47,4,11],["2017-03-17",6,10,19,29,36,3,9],["2017-03-14",3,5,21,36,44,3,6],["2017-03-10",31,36,38,47,49,8,11],["2017-03-07",6,37,41,48,50,4,5],["2017-03-03",2,11,29,30,47,1,12],["2017-02-28",10,20,31,35,42,2,12],["2017-02-24",2,4,13,22,43,8,9],["2017-02-21",13,19,41,45,49,3,4],["2017-02-17",19,25,33,36,48,2,9],["2017-02-14",2,10,24,40,44,3,10],["2017-02-10",7,21,26,35,43,2,9],["2017-02-07",4,10,31,38,44,8,10],["2017-02-03",3,4,15,46,50,5,9],["2017-01-31",3,4,17,23,44,6,9],["2017-01-27",17,20,28,45,48,5,9],["2017-01-24",1,5,7,17,23,3,8],["2017-01-20",10,17,27,31,49,3,5],["2017-01-17",4,16,25,43,47,2,10],["2017-01-13",3,7,16,26,50,4,7],["2017-01-06",10,14,18,21,49,9,11],["2017-01-03",19,23,27,34,49,1,11],["2016-12-27",3,22,25,32,39,7,12],["2016-12-23",4,16,20,39,46,2,5],["2016-12-20",13,15,17,21,27,2,3],["2016-12-16",6,10,30,41,45,4,11],["2016-12-13",14,28,29,48,50,2,8],["2016-12-09",6,12,28,37,40,1,5],["2016-12-06",1,7,11,27,45,4,9],["2016-12-02",6,11,23,31,32,2,12],["2016-11-25",5,11,17,23,28,10,11],["2016-11-22",5,10,33,34,47,2,10],["2016-11-18",3,12,27,32,47,6,8],["2016-11-15",7,15,36,42,48,3,7],["2016-11-11",3,22,23,38,49,2,9],["2016-11-08",5,9,47,49,50,8,9],["2016-11-04",7,11,12,44,48,3,7],["2016-11-01",6,10,20,29,37,1,9],["2016-10-28",10,16,19,23,43,2,8],["2016-10-25",3,15,20,21,28,1,5],["2016-10-21",9,20,23,44,48,8,10],["2016-10-18",2,17,21,25,27,6,9],["2016-10-14",7,13,19,31,34,1,11],["2016-10-11",5,12,20,24,37,4,11],["2016-10-07",2,12,20,27,30,9,11],["2016-10-04",4,7,14,34,38,4,11],["2016-09-30",17,35,37,43,44,2,10],["2016-09-27",6,9,13,39,41,2,12],["2016-09-23",14,16,39,42,49,3,9],["2016-09-20",1,4,10,41,45,6,9],["2016-09-16",5,8,14,22,32,2,11],["2016-09-13",4,7,16,35,44,1,3],["2016-09-09",4,11,15,17,28,1,3],["2016-09-06",12,24,30,34,45,7,10],["2016-09-02",8,16,32,40,50,2,11],["2016-08-30",13,16,29,35,42,6,8],["2016-08-26",1,9,28,30,48,7,8],["2016-08-23",2,23,31,37,45,4,8],["2016-08-19",5,6,22,25,34,5,7],["2016-08-16",2,26,34,37,46,4,8],["2016-08-12",2,15,28,36,50,2,11],["2016-08-09",12,19,43,44,45,5,10],["2016-08-05",16,19,24,35,37,2,7],["2016-08-02",2,8,27,38,46,2,6],["2016-07-29",1,21,26,40,50,2,4],["2016-07-26",3,10,13,45,49,2,11],["2016-07-22",7,24,26,37,45,5,9],["2016-07-19",19,24,28,36,37,3,6],["2016-07-15",2,11,13,14,21,1,8],["2016-07-12",3,7,26,33,41,2,10],["2016-07-08",8,12,18,33,44,4,8],["2016-07-05",1,10,29,38,48,3,4],["2016-07-01",2,11,13,40,50,1,10],["2016-06-28",26,32,37,43,49,4,5],["2016-06-24",11,19,27,28,39,3,10],["2016-06-21",5,17,32,35,49,1,5],["2016-06-17",1,7,18,27,43,4,8],["2016-06-14",13,34,39,42,50,9,11],["2016-06-10",14,21,35,42,43,7,9],["2016-06-07",19,26,35,45,49,2,5],["2016-06-03",7,23,31,33,39,6,10],["2016-05-31",6,12,26,30,48,6,7],["2016-05-27",13,25,27,43,46,4,8],["2016-05-24",16,17,23,34,37,6,9],["2016-05-20",9,14,30,41,45,4,9],["2016-05-17",15,27,32,36,39,3,10],["2016-05-13",7,15,28,31,42,10,11],["2016-05-10",2,26,27,40,49,5,10],["2016-05-06",32,34,40,45,48,1,10],["2016-05-03",8,23,24,34,38,3,7],["2016-04-29",4,5,25,28,43,6,11],["2016-04-26",10,17,31,32,42,2,5],["2016-04-22",17,26,32,34,43,2,10],["2016-04-19",11,14,15,27,44,2,7],["2016-04-15",13,14,32,37,48,1,7],["2016-04-12",1,5,9,22,38,2,10],["2016-04-08",6,8,26,43,49,6,10],["2016-04-05",3,5,9,19,40,2,5],["2016-04-01",2,16,23,25,49,6,9],["2016-03-29",1,4,19,25,36,3,11],["2016-03-25",12,19,36,42,43,5,8],["2016-03-22",12,15,26,42,49,5,8],["2016-03-18",14,19,21,24,49,5,11],["2016-03-15",5,7,10,34,44,2,10],["2016-03-11",1,21,26,40,43,6,9],["2016-03-08",1,8,9,14,23,1,7],["2016-03-04",6,9,14,23,40,1,5],["2016-03-01",4,7,13,28,37,10,11],["2016-02-26",5,13,15,33,50,9,11],["2016-02-23",23,25,32,37,42,1,11],["2016-02-19",13,14,30,32,39,3,9],["2016-02-16",3,10,22,37,50,6,10],["2016-02-12",3,20,28,31,49,2,5],["2016-02-09",6,9,13,28,37,4,5],["05-Feb-2016",3,27,32,41,46,4,8],["02-Feb-2016",36,21,10,6,9,6,2],["29-Jan-2016",29,32,23,1,5,1,7],["26-Jan-2016",15,40,24,48,38,2,9],["22-Jan-2016",27,10,30,47,12,9,8],["19-Jan-2016",2,30,38,43,46,7,2],["15-Jan-2016",43,38,19,10,46,1,11],["12-Jan-2016",2,10,30,44,1,1,8],["08-Jan-2016",35,33,26,40,5,3,8],["05-Jan-2016",6,10,31,36,39,6,10],["01-Jan-2016",4,37,38,39,44,4,7]]
diff --git a/libs/loader.js b/libs/loader.js
index 8311161..429d097 100644
--- a/libs/loader.js
+++ b/libs/loader.js
@@ -17,14 +17,13 @@ function resultsQuery(callback) {
'method': 'GET'
};
-
https.request(options).on('response', function (response) {
let data = '';
response.on('data', function (chunk) {
data += chunk;
});
response.on('end', function () {
- //console.log(data);
+ // console.log(data);
callback(JSON.parse(data));
});
}).end();
@@ -36,7 +35,7 @@ function processDataV2(data) {
// console.log(data);
- //date = /(\/Date\()([0-9]+)([\s\S]+)/.exec(data.Date);
+ // date = /(\/Date\()([0-9]+)([\s\S]+)/.exec(data.Date);
const newdate = Sugar.Date.format(new Date(parseInt(date[2])), '%Y-%m-%d');
newArray.push(newdate);
@@ -53,6 +52,10 @@ function processDataV2(data) {
return newArray;
}
+function loadV2(cb) {
+ const lotData = jsonfile.readFileSync(file);
+ cb(lotData);
+}
function load(cb) {
jsonfile.readFile(file, (err, obj) => {
@@ -80,5 +83,5 @@ function save(data) {
jsonfile.writeFileSync(file, data);
}
-module.exports.load = load;
+module.exports.load = loadV2;
module.exports.save = save;
diff --git a/libs/retriever.js b/libs/retriever.js
new file mode 100644
index 0000000..9b38c8d
--- /dev/null
+++ b/libs/retriever.js
@@ -0,0 +1,36 @@
+const jsonfile = require('jsonfile');
+
+const fetch = require('node-fetch');
+const fecha = require('fecha');
+
+const { scrapeResults } = require('./scraper');
+
+const file = 'data/data.json';
+
+// https://www.euro-millions.com/results
+
+function retrieveNew() {
+ const now = new Date().getTime();
+
+ // https://www.euro-millions.com/results/05-02-2019
+
+ const yesterday = new Date(now - (8.64e+7));
+
+ const ystring = fecha.format(yesterday, '/DD-MM-YYYY');
+
+ const lotData = jsonfile.readFileSync(file);
+
+ fetch(`https://www.euro-millions.com/results${ystring}`)
+ .then(res => res.text())
+ .then(body => {
+ const m = scrapeResults(body);
+
+ console.log(m);
+
+ lotData.unshift(m);
+
+ jsonfile.writeFileSync(file, lotData);
+ });
+}
+
+module.exports = { retrieveNew };
diff --git a/libs/scraper.js b/libs/scraper.js
new file mode 100644
index 0000000..4eb8bde
--- /dev/null
+++ b/libs/scraper.js
@@ -0,0 +1,126 @@
+const cheerio = require('cheerio');
+const fecha = require('fecha');
+
+const dateRegX = /(\d{2}-\d{2}-\d{4})/;
+
+function scrapeResults(html) {
+ const outArray = [];
+
+ const $ = cheerio.load(html);
+
+ const rawUrl = $('meta[property=\'og:url\']').attr('content');
+
+ const rawDate = rawUrl.match(dateRegX)[0];
+
+ const newDate = fecha.parse(rawDate, 'DD-MM-YYYY');
+
+ outArray.push(fecha.format(newDate, 'YYYY-MM-DD'));
+
+ const cells = $('#jsBallOrderCell li');
+
+ if ($(cells).length > 0)
+
+ cells.each((i, item) => {
+ outArray.push(parseInt($(item).text(), 10));
+ });
+
+ return outArray;
+}
+
+/*
+
+
+
Friday 28th December 2018
+
+
+
+ 13
+
+ 16
+
+ 34
+
+ 35
+
+ 45
+
+ 10
+
+ 12
+
+
+
+
+
Millionaire Maker:
+
2 Codes
+
+
+
+ */
+
+function scrapeArchive(html) {
+ const outArray = [];
+
+ const $ = cheerio.load(html);
+
+ const rawArchives = $('div.archives');
+
+ rawArchives.each((i, item) => {
+ const wArray = [];
+
+ const rawUrl = $(item).find('a').attr('href');
+ const rawDate = rawUrl.match(dateRegX)[0];
+
+ const newDate = fecha.parse(rawDate, 'DD-MM-YYYY');
+
+ wArray.push(fecha.format(newDate, 'YYYY-MM-DD'));
+
+ const cells = $(item).find('ul li');
+
+ if ($(cells).length > 0)
+
+ cells.each((i, item) => {
+ wArray.push(parseInt($(item).text(), 10));
+ });
+
+ outArray.push(wArray);
+ });
+
+ return outArray;
+}
+
+function scrapeSingle(html) {
+ const outArray = [];
+
+ const $ = cheerio.load(html);
+
+ const rawArchives = $('div.archives');
+
+ const wArray = [];
+
+ const item = $(rawArchives).first();
+
+ console.log('>>', $(item).html());
+
+ const rawUrl = $(item).find('a').attr('href');
+ const rawDate = rawUrl.match(dateRegX)[0];
+
+ const newDate = fecha.parse(rawDate, 'DD-MM-YYYY');
+
+ wArray.push(fecha.format(newDate, 'YYYY-MM-DD'));
+
+
+ const cells = $(item).find('ul li');
+
+ if ($(cells).length > 0)
+
+ cells.each((i, item) => {
+ wArray.push(parseInt($(item).text(), 10));
+ });
+
+ outArray.push(wArray);
+
+ return outArray;
+}
+
+module.exports = { scrapeResults, scrapeArchive, scrapeSingle };
diff --git a/package.json b/package.json
index cf3f63a..d1adc9d 100644
--- a/package.json
+++ b/package.json
@@ -12,15 +12,20 @@
"devDependencies": {
"jsonfile": "^2.2.3",
"node-cron": "^1.0.0",
+ "tape": "^4.9.2",
+ "tape-promise": "^4.0.0",
"ultrases": "^0.1.3"
},
"bin": {
"lot": "./lot.js"
},
"dependencies": {
+ "cheerio": "^1.0.0-rc.2",
"dateformat": "^2.0.0",
+ "fecha": "^3.0.2",
"jsonfile": "^2.4.0",
"log4js": "^2.3.3",
+ "node-fetch": "^2.3.0",
"node-pushover": "^0.2.2",
"sugar": "^2.0.1",
"sugar-date": "^2.0.0"
diff --git a/test/data/2017.html b/test/data/2017.html
new file mode 100644
index 0000000..414c732
--- /dev/null
+++ b/test/data/2017.html
@@ -0,0 +1,3506 @@
+
+
+ EuroMillions Results Archive for 2017
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Tonight's EuroMillions jackpot is estimated at a staggering £123 Million! Subscribe Now
+
+
+
+
+
+
+
+
+
EuroMillions Results Archive 2017
+
+
+ Home
+ Results
+ 2017 Archive
+
+
+
This page lists all EuroMillions results drawn in 2017. Select a result to view draw information.
+
+
+
+
+
+
+
+
+ Tonight's Estimated Jackpot is:
+
+
+
+ £123 Million!
+
+
+
+
+
+
+
+
+
+
+
0 Days 8:22:47
+
+
+
+
+
Friday 29th December 2017
+
+
+
+
+ 4
+
+ 8
+
+ 22
+
+ 23
+
+ 48
+
+ 1
+
+ 12
+
+
+
+
+
Millionaire Maker:
+
10 Codes
+
+
+
+
+
+
+
Tuesday 26th December 2017
+
+
+
+
+ 4
+
+ 17
+
+ 30
+
+ 43
+
+ 44
+
+ 2
+
+ 10
+
+
+
+
+
Millionaire Maker:
+
2 Codes
+
+
+
+
+
+
+
Friday 22nd December 2017
+
+
+
+
+ 5
+
+ 24
+
+ 30
+
+ 31
+
+ 43
+
+ 3
+
+ 6
+
+
+
+
+
Millionaire Maker:
+
2 Codes
+
+
+
+
+
+
+
Tuesday 19th December 2017
+
+
+
+
+ 8
+
+ 15
+
+ 30
+
+ 38
+
+ 46
+
+ 4
+
+ 7
+
+
+
+
+
Millionaire Maker:
+
2 Codes
+
+
+
+
+
+
+
Friday 15th December 2017
+
+
+
+
+ 25
+
+ 30
+
+ 31
+
+ 42
+
+ 50
+
+ 2
+
+ 11
+
+
+
+
+
Millionaire Maker:
+
2 Codes
+
+
+
+
+
+
+
Tuesday 12th December 2017
+
+
+
+
+ 20
+
+ 37
+
+ 39
+
+ 44
+
+ 50
+
+ 4
+
+ 8
+
+
+
+
+
Millionaire Maker:
+
2 Codes
+
+
+
+
+
+
+
Friday 8th December 2017
+
+
+
+
+ 4
+
+ 22
+
+ 30
+
+ 32
+
+ 34
+
+ 3
+
+ 4
+
+
+
+
+
Millionaire Maker:
+
2 Codes
+
+
+
+
+
+
+
Tuesday 5th December 2017
+
+
+
+
+ 11
+
+ 36
+
+ 43
+
+ 44
+
+ 48
+
+ 2
+
+ 7
+
+
+
+
+
Millionaire Maker:
+
2 Codes
+
+
+
+
+
+
+
Friday 1st December 2017
+
+
+
+
+ 5
+
+ 24
+
+ 29
+
+ 35
+
+ 46
+
+ 11
+
+ 12
+
+
+
+
+
Millionaire Maker:
+
2 Codes
+
+
+
+
+
+
+
Tuesday 28th November 2017
+
+
+
+
+ 1
+
+ 6
+
+ 12
+
+ 18
+
+ 42
+
+ 2
+
+ 7
+
+
+
+
+
Millionaire Maker:
+
2 Codes
+
+
+
+
+
+
+
Friday 24th November 2017
+
+
+
+
+ 19
+
+ 24
+
+ 28
+
+ 30
+
+ 50
+
+ 3
+
+ 10
+
+
+
+
+
Millionaire Maker:
+
2 Codes
+
+
+
+
+
+
+
Tuesday 21st November 2017
+
+
+
+
+ 2
+
+ 10
+
+ 14
+
+ 28
+
+ 31
+
+ 5
+
+ 7
+
+
+
+
+
Millionaire Maker:
+
2 Codes
+
+
+
+
+
+
+
Friday 17th November 2017
+
+
+
+
+ 20
+
+ 26
+
+ 35
+
+ 36
+
+ 42
+
+ 5
+
+ 12
+
+
+
+
+
Millionaire Maker:
+
2 Codes
+
+
+
+
+
+
+
Tuesday 14th November 2017
+
+
+
+
+ 14
+
+ 16
+
+ 39
+
+ 40
+
+ 41
+
+ 8
+
+ 10
+
+
+
+
+
Millionaire Maker:
+
2 Codes
+
+
+
+
+
+
+
Friday 10th November 2017
+
+
+
+
+ 13
+
+ 22
+
+ 29
+
+ 36
+
+ 37
+
+ 1
+
+ 9
+
+
+
+
+
Millionaire Maker:
+
2 Codes
+
+
+
+
+
+
+
Tuesday 7th November 2017
+
+
+
+
+ 7
+
+ 19
+
+ 20
+
+ 37
+
+ 41
+
+ 2
+
+ 12
+
+
+
+
+
Millionaire Maker:
+
2 Codes
+
+
+
+
+
+
+
Friday 3rd November 2017
+
+
+
+
+ 5
+
+ 12
+
+ 17
+
+ 33
+
+ 41
+
+ 4
+
+ 9
+
+
+
+
+
Millionaire Maker:
+
2 Codes
+
+
+
+
+
+
+
Tuesday 31st October 2017
+
+
+
+
+ 1
+
+ 12
+
+ 36
+
+ 43
+
+ 46
+
+ 3
+
+ 5
+
+
+
+
+
Millionaire Maker:
+
2 Codes
+
+
+
+
+
+
+
Friday 27th October 2017
+
+
+
+
+ 3
+
+ 16
+
+ 23
+
+ 32
+
+ 39
+
+ 1
+
+ 4
+
+
+
+
+
Millionaire Maker:
+
2 Codes
+
+
+
+
+
+
+
Tuesday 24th October 2017
+
+
+
+
+ 9
+
+ 11
+
+ 13
+
+ 27
+
+ 33
+
+ 7
+
+ 10
+
+
+
+
+
Millionaire Maker:
+
2 Codes
+
+
+
+
+
+
+
Friday 20th October 2017
+
+
+
+
+ 4
+
+ 17
+
+ 23
+
+ 27
+
+ 30
+
+ 3
+
+ 8
+
+
+
+
+
Millionaire Maker:
+
2 Codes
+
+
+
+
+
+
+
Tuesday 17th October 2017
+
+
+
+
+ 13
+
+ 17
+
+ 19
+
+ 26
+
+ 36
+
+ 2
+
+ 3
+
+
+
+
+
Millionaire Maker:
+
2 Codes
+
+
+
+
+
+
+
Friday 13th October 2017
+
+
+
+
+ 23
+
+ 29
+
+ 37
+
+ 45
+
+ 50
+
+ 5
+
+ 11
+
+
+
+
+
Millionaire Maker:
+
13 Codes
+
+
+
+
+
+
+
Tuesday 10th October 2017
+
+
+
+
+ 4
+
+ 21
+
+ 34
+
+ 36
+
+ 37
+
+ 3
+
+ 6
+
+
+
+
+
Millionaire Maker:
+
2 Codes
+
+
+
+
+
+
+
Friday 6th October 2017
+
+
+
+
+ 1
+
+ 9
+
+ 15
+
+ 19
+
+ 25
+
+ 1
+
+ 7
+
+
+
+
+
Millionaire Maker:
+
2 Codes
+
+
+
+
+
+
+
Tuesday 3rd October 2017
+
+
+
+
+ 6
+
+ 24
+
+ 32
+
+ 48
+
+ 50
+
+ 1
+
+ 5
+
+
+
+
+
Millionaire Maker:
+
2 Codes
+
+
+
+
+
+
+
Friday 29th September 2017
+
+
+
+
+ 7
+
+ 18
+
+ 19
+
+ 32
+
+ 48
+
+ 3
+
+ 7
+
+
+
+
+
Millionaire Maker:
+
2 Codes
+
+
+
+
+
+
+
+
+
Friday 22nd September 2017
+
+
+
+
+ 6
+
+ 11
+
+ 31
+
+ 39
+
+ 42
+
+ 1
+
+ 3
+
+
+
+
+
Millionaire Maker:
+
2 Codes
+
+
+
+
+
+
+
+
+
Friday 15th September 2017
+
+
+
+
+ 13
+
+ 18
+
+ 37
+
+ 44
+
+ 49
+
+ 9
+
+ 12
+
+
+
+
+
Millionaire Maker:
+
2 Codes
+
+
+
+
+
+
+
+
+
Friday 8th September 2017
+
+
+
+
+ 9
+
+ 24
+
+ 42
+
+ 47
+
+ 49
+
+ 1
+
+ 5
+
+
+
+
+
Millionaire Maker:
+
2 Codes
+
+
+
+
+
+
+
Tuesday 5th September 2017
+
+
+
+
+ 6
+
+ 9
+
+ 18
+
+ 28
+
+ 29
+
+ 1
+
+ 9
+
+
+
+
+
Millionaire Maker:
+
2 Codes
+
+
+
+
+
+
+
Friday 1st September 2017
+
+
+
+
+ 3
+
+ 7
+
+ 8
+
+ 14
+
+ 49
+
+ 5
+
+ 8
+
+
+
+
+
Millionaire Maker:
+
2 Codes
+
+
+
+
+
+
+
Tuesday 29th August 2017
+
+
+
+
+ 4
+
+ 12
+
+ 15
+
+ 32
+
+ 38
+
+ 1
+
+ 5
+
+
+
+
+
Millionaire Maker:
+
2 Codes
+
+
+
+
+
+
+
Friday 25th August 2017
+
+
+
+
+ 1
+
+ 5
+
+ 7
+
+ 15
+
+ 47
+
+ 9
+
+ 12
+
+
+
+
+
Millionaire Maker:
+
2 Codes
+
+
+
+
+
+
+
Tuesday 22nd August 2017
+
+
+
+
+ 3
+
+ 10
+
+ 12
+
+ 17
+
+ 27
+
+ 3
+
+ 5
+
+
+
+
+
Millionaire Maker:
+
2 Codes
+
+
+
+
+
+
+
Friday 18th August 2017
+
+
+
+
+ 2
+
+ 24
+
+ 39
+
+ 42
+
+ 45
+
+ 2
+
+ 8
+
+
+
+
+
Millionaire Maker:
+
2 Codes
+
+
+
+
+
+
+
Tuesday 15th August 2017
+
+
+
+
+ 10
+
+ 14
+
+ 30
+
+ 35
+
+ 46
+
+ 4
+
+ 10
+
+
+
+
+
Millionaire Maker:
+
2 Codes
+
+
+
+
+
+
+
Friday 11th August 2017
+
+
+
+
+ 18
+
+ 28
+
+ 39
+
+ 46
+
+ 48
+
+ 5
+
+ 12
+
+
+
+
+
Millionaire Maker:
+
2 Codes
+
+
+
+
+
+
+
Tuesday 8th August 2017
+
+
+
+
+ 15
+
+ 25
+
+ 26
+
+ 40
+
+ 41
+
+ 4
+
+ 5
+
+
+
+
+
Millionaire Maker:
+
2 Codes
+
+
+
+
+
+
+
Friday 4th August 2017
+
+
+
+
+ 29
+
+ 30
+
+ 36
+
+ 40
+
+ 41
+
+ 2
+
+ 9
+
+
+
+
+
Millionaire Maker:
+
2 Codes
+
+
+
+
+
+
+
Tuesday 1st August 2017
+
+
+
+
+ 14
+
+ 21
+
+ 24
+
+ 29
+
+ 30
+
+ 8
+
+ 10
+
+
+
+
+
Millionaire Maker:
+
2 Codes
+
+
+
+
+
+
+
Friday 28th July 2017
+
+
+
+
+ 5
+
+ 9
+
+ 29
+
+ 31
+
+ 41
+
+ 2
+
+ 4
+
+
+
+
+
Millionaire Maker:
+
3 Codes
+
+
+
+
+
+
+
Tuesday 25th July 2017
+
+
+
+
+ 12
+
+ 14
+
+ 43
+
+ 44
+
+ 48
+
+ 2
+
+ 11
+
+
+
+
+
Millionaire Maker:
+
3 Codes
+
+
+
+
+
+
+
Friday 21st July 2017
+
+
+
+
+ 1
+
+ 8
+
+ 9
+
+ 26
+
+ 49
+
+ 5
+
+ 9
+
+
+
+
+
Millionaire Maker:
+
2 Codes
+
+
+
+
+
+
+
Tuesday 18th July 2017
+
+
+
+
+ 1
+
+ 25
+
+ 27
+
+ 41
+
+ 45
+
+ 5
+
+ 7
+
+
+
+
+
Millionaire Maker:
+
2 Codes
+
+
+
+
+
+
+
Friday 14th July 2017
+
+
+
+
+ 11
+
+ 14
+
+ 20
+
+ 21
+
+ 47
+
+ 7
+
+ 10
+
+
+
+
+
Millionaire Maker:
+
2 Codes
+
+
+
+
+
+
+
Tuesday 11th July 2017
+
+
+
+
+ 14
+
+ 22
+
+ 26
+
+ 42
+
+ 50
+
+ 8
+
+ 10
+
+
+
+
+
Millionaire Maker:
+
2 Codes
+
+
+
+
+
+
+
Friday 7th July 2017
+
+
+
+
+ 11
+
+ 20
+
+ 35
+
+ 37
+
+ 45
+
+ 3
+
+ 6
+
+
+
+
+
Millionaire Maker:
+
2 Codes
+
+
+
+
+
+
+
Tuesday 4th July 2017
+
+
+
+
+ 10
+
+ 22
+
+ 25
+
+ 37
+
+ 49
+
+ 5
+
+ 8
+
+
+
+
+
Millionaire Maker:
+
2 Codes
+
+
+
+
+
+
+
Friday 30th June 2017
+
+
+
+
+ 17
+
+ 35
+
+ 39
+
+ 47
+
+ 50
+
+ 6
+
+ 8
+
+
+
+
+
Millionaire Maker:
+
2 Codes
+
+
+
+
+
+
+
Tuesday 27th June 2017
+
+
+
+
+ 9
+
+ 17
+
+ 21
+
+ 28
+
+ 45
+
+ 1
+
+ 3
+
+
+
+
+
Millionaire Maker:
+
2 Codes
+
+
+
+
+
+
+
Friday 23rd June 2017
+
+
+
+
+ 3
+
+ 4
+
+ 21
+
+ 31
+
+ 38
+
+ 3
+
+ 7
+
+
+
+
+
Millionaire Maker:
+
2 Codes
+
+
+
+
+
+
+
Tuesday 20th June 2017
+
+
+
+
+ 11
+
+ 18
+
+ 26
+
+ 43
+
+ 44
+
+ 8
+
+ 10
+
+
+
+
+
Millionaire Maker:
+
2 Codes
+
+
+
+
+
+
+
Friday 16th June 2017
+
+
+
+
+ 15
+
+ 17
+
+ 38
+
+ 41
+
+ 42
+
+ 9
+
+ 12
+
+
+
+
+
Millionaire Maker:
+
2 Codes
+
+
+
+
+
+
+
Tuesday 13th June 2017
+
+
+
+
+ 3
+
+ 12
+
+ 22
+
+ 27
+
+ 49
+
+ 4
+
+ 11
+
+
+
+
+
Millionaire Maker:
+
2 Codes
+
+
+
+
+
+
+
Friday 9th June 2017
+
+
+
+
+ 9
+
+ 20
+
+ 27
+
+ 39
+
+ 43
+
+ 10
+
+ 11
+
+
+
+
+
Millionaire Maker:
+
2 Codes
+
+
+
+
+
+
+
Tuesday 6th June 2017
+
+
+
+
+ 20
+
+ 22
+
+ 25
+
+ 37
+
+ 40
+
+ 3
+
+ 7
+
+
+
+
+
Millionaire Maker:
+
2 Codes
+
+
+
+
+
+
+
Friday 2nd June 2017
+
+
+
+
+ 8
+
+ 10
+
+ 24
+
+ 33
+
+ 42
+
+ 3
+
+ 9
+
+
+
+
+
Millionaire Maker:
+
2 Codes
+
+
+
+
+
+
+
Tuesday 30th May 2017
+
+
+
+
+ 7
+
+ 12
+
+ 27
+
+ 38
+
+ 48
+
+ 6
+
+ 9
+
+
+
+
+
Millionaire Maker:
+
2 Codes
+
+
+
+
+
+
+
Friday 26th May 2017
+
+
+
+
+ 5
+
+ 7
+
+ 26
+
+ 36
+
+ 39
+
+ 2
+
+ 10
+
+
+
+
+
Millionaire Maker:
+
3 Codes
+
+
+
+
+
+
+
Tuesday 23rd May 2017
+
+
+
+
+ 8
+
+ 15
+
+ 25
+
+ 27
+
+ 42
+
+ 1
+
+ 4
+
+
+
+
+
Millionaire Maker:
+
3 Codes
+
+
+
+
+
+
+
Friday 19th May 2017
+
+
+
+
+ 9
+
+ 11
+
+ 12
+
+ 19
+
+ 30
+
+ 4
+
+ 9
+
+
+
+
+
Millionaire Maker:
+
2 Codes
+
+
+
+
+
+
+
Tuesday 16th May 2017
+
+
+
+
+ 8
+
+ 11
+
+ 15
+
+ 20
+
+ 30
+
+ 3
+
+ 8
+
+
+
+
+
Millionaire Maker:
+
2 Codes
+
+
+
+
+
+
+
Friday 12th May 2017
+
+
+
+
+ 2
+
+ 20
+
+ 28
+
+ 29
+
+ 44
+
+ 3
+
+ 9
+
+
+
+
+
Millionaire Maker:
+
2 Codes
+
+
+
+
+
+
+
Tuesday 9th May 2017
+
+
+
+
+ 8
+
+ 12
+
+ 16
+
+ 22
+
+ 26
+
+ 6
+
+ 7
+
+
+
+
+
Millionaire Maker:
+
2 Codes
+
+
+
+
+
+
+
Friday 5th May 2017
+
+
+
+
+ 3
+
+ 7
+
+ 30
+
+ 35
+
+ 43
+
+ 1
+
+ 3
+
+
+
+
+
Millionaire Maker:
+
2 Codes
+
+
+
+
+
+
+
Tuesday 2nd May 2017
+
+
+
+
+ 6
+
+ 19
+
+ 23
+
+ 25
+
+ 27
+
+ 11
+
+ 12
+
+
+
+
+
Millionaire Maker:
+
2 Codes
+
+
+
+
+
+
+
Friday 28th April 2017
+
+
+
+
+ 14
+
+ 20
+
+ 25
+
+ 30
+
+ 39
+
+ 2
+
+ 8
+
+
+
+
+
Millionaire Maker:
+
3 Codes
+
+
+
+
+
+
+
Tuesday 25th April 2017
+
+
+
+
+ 9
+
+ 11
+
+ 19
+
+ 32
+
+ 43
+
+ 3
+
+ 9
+
+
+
+
+
Millionaire Maker:
+
3 Codes
+
+
+
+
+
+
+
Friday 21st April 2017
+
+
+
+
+ 2
+
+ 13
+
+ 16
+
+ 22
+
+ 49
+
+ 4
+
+ 5
+
+
+
+
+
Millionaire Maker:
+
2 Codes
+
+
+
+
+
+
+
Tuesday 18th April 2017
+
+
+
+
+ 17
+
+ 22
+
+ 31
+
+ 38
+
+ 45
+
+ 5
+
+ 12
+
+
+
+
+
Millionaire Maker:
+
2 Codes
+
+
+
+
+
+
+
Friday 14th April 2017
+
+
+
+
+ 4
+
+ 14
+
+ 20
+
+ 23
+
+ 33
+
+ 6
+
+ 10
+
+
+
+
+
Millionaire Maker:
+
2 Codes
+
+
+
+
+
+
+
Tuesday 11th April 2017
+
+
+
+
+ 5
+
+ 21
+
+ 22
+
+ 31
+
+ 49
+
+ 2
+
+ 8
+
+
+
+
+
Millionaire Maker:
+
2 Codes
+
+
+
+
+
+
+
Friday 7th April 2017
+
+
+
+
+ 2
+
+ 10
+
+ 19
+
+ 35
+
+ 50
+
+ 6
+
+ 7
+
+
+
+
+
Millionaire Maker:
+
2 Codes
+
+
+
+
+
+
+
Tuesday 4th April 2017
+
+
+
+
+ 1
+
+ 9
+
+ 24
+
+ 33
+
+ 34
+
+ 2
+
+ 6
+
+
+
+
+
Millionaire Maker:
+
2 Codes
+
+
+
+
+
+
+
Friday 31st March 2017
+
+
+
+
+ 17
+
+ 24
+
+ 26
+
+ 28
+
+ 45
+
+ 4
+
+ 12
+
+
+
+
+
Millionaire Maker:
+
3 Codes
+
+
+
+
+
+
+
Tuesday 28th March 2017
+
+
+
+
+ 9
+
+ 13
+
+ 31
+
+ 33
+
+ 46
+
+ 6
+
+ 10
+
+
+
+
+
Millionaire Maker:
+
3 Codes
+
+
+
+
+
+
+
Friday 24th March 2017
+
+
+
+
+ 2
+
+ 17
+
+ 21
+
+ 27
+
+ 34
+
+ 5
+
+ 9
+
+
+
+
+
Millionaire Maker:
+
2 Codes
+
+
+
+
+
+
+
Tuesday 21st March 2017
+
+
+
+
+ 1
+
+ 20
+
+ 23
+
+ 44
+
+ 47
+
+ 4
+
+ 11
+
+
+
+
+
Millionaire Maker:
+
2 Codes
+
+
+
+
+
+
+
Friday 17th March 2017
+
+
+
+
+ 6
+
+ 10
+
+ 19
+
+ 29
+
+ 36
+
+ 3
+
+ 9
+
+
+
+
+
Millionaire Maker:
+
2 Codes
+
+
+
+
+
+
+
Tuesday 14th March 2017
+
+
+
+
+ 3
+
+ 5
+
+ 21
+
+ 36
+
+ 44
+
+ 3
+
+ 6
+
+
+
+
+
Millionaire Maker:
+
2 Codes
+
+
+
+
+
+
+
Friday 10th March 2017
+
+
+
+
+ 31
+
+ 36
+
+ 38
+
+ 47
+
+ 49
+
+ 8
+
+ 11
+
+
+
+
+
Millionaire Maker:
+
2 Codes
+
+
+
+
+
+
+
Tuesday 7th March 2017
+
+
+
+
+ 6
+
+ 37
+
+ 41
+
+ 48
+
+ 50
+
+ 4
+
+ 5
+
+
+
+
+
Millionaire Maker:
+
2 Codes
+
+
+
+
+
+
+
Friday 3rd March 2017
+
+
+
+
+ 2
+
+ 11
+
+ 29
+
+ 30
+
+ 47
+
+ 1
+
+ 12
+
+
+
+
+
Millionaire Maker:
+
2 Codes
+
+
+
+
+
+
+
Tuesday 28th February 2017
+
+
+
+
+ 10
+
+ 20
+
+ 31
+
+ 35
+
+ 42
+
+ 2
+
+ 12
+
+
+
+
+
Millionaire Maker:
+
2 Codes
+
+
+
+
+
+
+
Friday 24th February 2017
+
+
+
+
+ 2
+
+ 4
+
+ 13
+
+ 22
+
+ 43
+
+ 8
+
+ 9
+
+
+
+
+
Millionaire Maker:
+
3 Codes
+
+
+
+
+
+
+
Tuesday 21st February 2017
+
+
+
+
+ 13
+
+ 19
+
+ 41
+
+ 45
+
+ 49
+
+ 3
+
+ 4
+
+
+
+
+
Millionaire Maker:
+
3 Codes
+
+
+
+
+
+
+
Friday 17th February 2017
+
+
+
+
+ 19
+
+ 25
+
+ 33
+
+ 36
+
+ 48
+
+ 2
+
+ 9
+
+
+
+
+
Millionaire Maker:
+
2 Codes
+
+
+
+
+
+
+
Tuesday 14th February 2017
+
+
+
+
+ 2
+
+ 10
+
+ 24
+
+ 40
+
+ 44
+
+ 3
+
+ 10
+
+
+
+
+
Millionaire Maker:
+
2 Codes
+
+
+
+
+
+
+
Friday 10th February 2017
+
+
+
+
+ 7
+
+ 21
+
+ 26
+
+ 35
+
+ 43
+
+ 2
+
+ 9
+
+
+
+
+
Millionaire Maker:
+
2 Codes
+
+
+
+
+
+
+
Tuesday 7th February 2017
+
+
+
+
+ 4
+
+ 10
+
+ 31
+
+ 38
+
+ 44
+
+ 8
+
+ 10
+
+
+
+
+
Millionaire Maker:
+
2 Codes
+
+
+
+
+
+
+
Friday 3rd February 2017
+
+
+
+
+ 3
+
+ 4
+
+ 15
+
+ 46
+
+ 50
+
+ 5
+
+ 9
+
+
+
+
+
Millionaire Maker:
+
5 Codes
+
+
+
+
+
+
+
Tuesday 31st January 2017
+
+
+
+
+ 3
+
+ 4
+
+ 17
+
+ 23
+
+ 44
+
+ 6
+
+ 9
+
+
+
+
+
Millionaire Maker:
+
5 Codes
+
+
+
+
+
+
+
Friday 27th January 2017
+
+
+
+
+ 17
+
+ 20
+
+ 28
+
+ 45
+
+ 48
+
+ 5
+
+ 9
+
+
+
+
+
Millionaire Maker:
+
2 Codes
+
+
+
+
+
+
+
Tuesday 24th January 2017
+
+
+
+
+ 1
+
+ 5
+
+ 7
+
+ 17
+
+ 23
+
+ 3
+
+ 8
+
+
+
+
+
Millionaire Maker:
+
2 Codes
+
+
+
+
+
+
+
Friday 20th January 2017
+
+
+
+
+ 10
+
+ 17
+
+ 27
+
+ 31
+
+ 49
+
+ 3
+
+ 5
+
+
+
+
+
Millionaire Maker:
+
2 Codes
+
+
+
+
+
+
+
Tuesday 17th January 2017
+
+
+
+
+ 4
+
+ 16
+
+ 25
+
+ 43
+
+ 47
+
+ 2
+
+ 10
+
+
+
+
+
Millionaire Maker:
+
2 Codes
+
+
+
+
+
+
+
Friday 13th January 2017
+
+
+
+
+ 3
+
+ 7
+
+ 16
+
+ 26
+
+ 50
+
+ 4
+
+ 7
+
+
+
+
+
Millionaire Maker:
+
2 Codes
+
+
+
+
+
+
+
Tuesday 10th January 2017
+
+
+
+
+ 2
+
+ 11
+
+ 29
+
+ 35
+
+ 44
+
+ 4
+
+ 9
+
+
+
+
+
Millionaire Maker:
+
2 Codes
+
+
+
+
+
+
+
Friday 6th January 2017
+
+
+
+
+ 10
+
+ 14
+
+ 18
+
+ 21
+
+ 49
+
+ 9
+
+ 11
+
+
+
+
+
Millionaire Maker:
+
2 Codes
+
+
+
+
+
+
+
Tuesday 3rd January 2017
+
+
+
+
+ 19
+
+ 23
+
+ 27
+
+ 34
+
+ 49
+
+ 1
+
+ 11
+
+
+
+
+
Millionaire Maker:
+
2 Codes
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/test/data/2018.html b/test/data/2018.html
new file mode 100644
index 0000000..211725c
--- /dev/null
+++ b/test/data/2018.html
@@ -0,0 +1,3506 @@
+
+
+ EuroMillions Results Archive for 2018
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Tonight's EuroMillions jackpot is estimated at a staggering £123 Million! Subscribe Now
+
+
+
+
+
+
+
+
+
EuroMillions Results Archive 2018
+
+
+ Home
+ Results
+ 2018 Archive
+
+
+
This page lists all EuroMillions results drawn in 2018. Select a result to view draw information.
+
+
+
+
+
+
+
+
+ Tonight's Estimated Jackpot is:
+
+
+
+ £123 Million!
+
+
+
+
+
+
+
+
+
+
+
0 Days 8:20:31
+
+
+
+
+
Friday 28th December 2018
+
+
+
+
+ 13
+
+ 16
+
+ 34
+
+ 35
+
+ 45
+
+ 10
+
+ 12
+
+
+
+
+
Millionaire Maker:
+
2 Codes
+
+
+
+
+
+
+
+
+
Friday 21st December 2018
+
+
+
+
+ 2
+
+ 12
+
+ 15
+
+ 34
+
+ 50
+
+ 3
+
+ 4
+
+
+
+
+
Millionaire Maker:
+
2 Codes
+
+
+
+
+
+
+
Tuesday 18th December 2018
+
+
+
+
+ 1
+
+ 9
+
+ 18
+
+ 39
+
+ 48
+
+ 5
+
+ 7
+
+
+
+
+
Millionaire Maker:
+
2 Codes
+
+
+
+
+
+
+
Friday 14th December 2018
+
+
+
+
+ 12
+
+ 29
+
+ 38
+
+ 42
+
+ 44
+
+ 2
+
+ 12
+
+
+
+
+
Millionaire Maker:
+
2 Codes
+
+
+
+
+
+
+
Tuesday 11th December 2018
+
+
+
+
+ 4
+
+ 7
+
+ 13
+
+ 23
+
+ 42
+
+ 1
+
+ 3
+
+
+
+
+
Millionaire Maker:
+
2 Codes
+
+
+
+
+
+
+
Friday 7th December 2018
+
+
+
+
+ 11
+
+ 17
+
+ 26
+
+ 37
+
+ 48
+
+ 1
+
+ 10
+
+
+
+
+
Millionaire Maker:
+
2 Codes
+
+
+
+
+
+
+
Tuesday 4th December 2018
+
+
+
+
+ 19
+
+ 20
+
+ 21
+
+ 42
+
+ 45
+
+ 8
+
+ 9
+
+
+
+
+
Millionaire Maker:
+
2 Codes
+
+
+
+
+
+
+
Friday 30th November 2018
+
+
+
+
+ 3
+
+ 10
+
+ 12
+
+ 23
+
+ 26
+
+ 1
+
+ 12
+
+
+
+
+
Millionaire Maker:
+
2 Codes
+
+
+
+
+
+
+
Tuesday 27th November 2018
+
+
+
+
+ 4
+
+ 16
+
+ 17
+
+ 18
+
+ 32
+
+ 2
+
+ 11
+
+
+
+
+
Millionaire Maker:
+
2 Codes
+
+
+
+
+
+
+
Friday 23rd November 2018
+
+
+
+
+ 5
+
+ 8
+
+ 25
+
+ 26
+
+ 30
+
+ 3
+
+ 10
+
+
+
+
+
Millionaire Maker:
+
2 Codes
+
+
+
+
+
+
+
Tuesday 20th November 2018
+
+
+
+
+ 6
+
+ 19
+
+ 39
+
+ 45
+
+ 48
+
+ 7
+
+ 12
+
+
+
+
+
Millionaire Maker:
+
2 Codes
+
+
+
+
+
+
+
Friday 16th November 2018
+
+
+
+
+ 9
+
+ 10
+
+ 13
+
+ 28
+
+ 41
+
+ 1
+
+ 12
+
+
+
+
+
Millionaire Maker:
+
2 Codes
+
+
+
+
+
+
+
Tuesday 13th November 2018
+
+
+
+
+ 2
+
+ 7
+
+ 10
+
+ 13
+
+ 42
+
+ 3
+
+ 6
+
+
+
+
+
Millionaire Maker:
+
2 Codes
+
+
+
+
+
+
+
Friday 9th November 2018
+
+
+
+
+ 14
+
+ 17
+
+ 32
+
+ 37
+
+ 49
+
+ 11
+
+ 12
+
+
+
+
+
Millionaire Maker:
+
2 Codes
+
+
+
+
+
+
+
Tuesday 6th November 2018
+
+
+
+
+ 14
+
+ 24
+
+ 36
+
+ 40
+
+ 43
+
+ 2
+
+ 9
+
+
+
+
+
Millionaire Maker:
+
2 Codes
+
+
+
+
+
+
+
Friday 2nd November 2018
+
+
+
+
+ 5
+
+ 15
+
+ 17
+
+ 37
+
+ 44
+
+ 7
+
+ 11
+
+
+
+
+
Millionaire Maker:
+
2 Codes
+
+
+
+
+
+
+
Tuesday 30th October 2018
+
+
+
+
+ 17
+
+ 23
+
+ 27
+
+ 43
+
+ 44
+
+ 1
+
+ 12
+
+
+
+
+
Millionaire Maker:
+
2 Codes
+
+
+
+
+
+
+
Friday 26th October 2018
+
+
+
+
+ 5
+
+ 18
+
+ 21
+
+ 31
+
+ 35
+
+ 6
+
+ 9
+
+
+
+
+
Millionaire Maker:
+
2 Codes
+
+
+
+
+
+
+
Tuesday 23rd October 2018
+
+
+
+
+ 1
+
+ 2
+
+ 5
+
+ 21
+
+ 32
+
+ 2
+
+ 12
+
+
+
+
+
Millionaire Maker:
+
2 Codes
+
+
+
+
+
+
+
Friday 19th October 2018
+
+
+
+
+ 1
+
+ 3
+
+ 29
+
+ 47
+
+ 48
+
+ 3
+
+ 12
+
+
+
+
+
Millionaire Maker:
+
2 Codes
+
+
+
+
+
+
+
Tuesday 16th October 2018
+
+
+
+
+ 15
+
+ 28
+
+ 37
+
+ 40
+
+ 42
+
+ 1
+
+ 6
+
+
+
+
+
Millionaire Maker:
+
2 Codes
+
+
+
+
+
+
+
Friday 12th October 2018
+
+
+
+
+ 4
+
+ 9
+
+ 12
+
+ 31
+
+ 43
+
+ 5
+
+ 8
+
+
+
+
+
Millionaire Maker:
+
2 Codes
+
+
+
+
+
+
+
Tuesday 9th October 2018
+
+
+
+
+ 3
+
+ 12
+
+ 36
+
+ 44
+
+ 45
+
+ 8
+
+ 11
+
+
+
+
+
Millionaire Maker:
+
2 Codes
+
+
+
+
+
+
+
Friday 5th October 2018
+
+
+
+
+ 8
+
+ 16
+
+ 24
+
+ 26
+
+ 35
+
+ 3
+
+ 11
+
+
+
+
+
Millionaire Maker:
+
2 Codes
+
+
+
+
+
+
+
Tuesday 2nd October 2018
+
+
+
+
+ 7
+
+ 17
+
+ 29
+
+ 37
+
+ 45
+
+ 3
+
+ 11
+
+
+
+
+
Millionaire Maker:
+
2 Codes
+
+
+
+
+
+
+
+
+
+
+
Friday 21st September 2018
+
+
+
+
+ 5
+
+ 7
+
+ 21
+
+ 25
+
+ 37
+
+ 3
+
+ 4
+
+
+
+
+
Millionaire Maker:
+
2 Codes
+
+
+
+
+
+
+
+
+
Friday 14th September 2018
+
+
+
+
+ 1
+
+ 3
+
+ 33
+
+ 40
+
+ 45
+
+ 3
+
+ 4
+
+
+
+
+
Millionaire Maker:
+
2 Codes
+
+
+
+
+
+
+
+
+
Friday 7th September 2018
+
+
+
+
+ 4
+
+ 23
+
+ 27
+
+ 31
+
+ 50
+
+ 1
+
+ 8
+
+
+
+
+
Millionaire Maker:
+
2 Codes
+
+
+
+
+
+
+
Tuesday 4th September 2018
+
+
+
+
+ 5
+
+ 14
+
+ 28
+
+ 30
+
+ 47
+
+ 4
+
+ 11
+
+
+
+
+
Millionaire Maker:
+
2 Codes
+
+
+
+
+
+
+
Friday 31st August 2018
+
+
+
+
+ 4
+
+ 30
+
+ 31
+
+ 38
+
+ 42
+
+ 4
+
+ 6
+
+
+
+
+
Millionaire Maker:
+
2 Codes
+
+
+
+
+
+
+
Tuesday 28th August 2018
+
+
+
+
+ 4
+
+ 16
+
+ 32
+
+ 42
+
+ 46
+
+ 8
+
+ 12
+
+
+
+
+
Millionaire Maker:
+
2 Codes
+
+
+
+
+
+
+
Friday 24th August 2018
+
+
+
+
+ 3
+
+ 14
+
+ 31
+
+ 36
+
+ 50
+
+ 1
+
+ 12
+
+
+
+
+
Millionaire Maker:
+
2 Codes
+
+
+
+
+
+
+
Tuesday 21st August 2018
+
+
+
+
+ 16
+
+ 23
+
+ 42
+
+ 43
+
+ 49
+
+ 10
+
+ 12
+
+
+
+
+
Millionaire Maker:
+
2 Codes
+
+
+
+
+
+
+
Friday 17th August 2018
+
+
+
+
+ 2
+
+ 15
+
+ 18
+
+ 24
+
+ 43
+
+ 8
+
+ 12
+
+
+
+
+
Millionaire Maker:
+
2 Codes
+
+
+
+
+
+
+
Tuesday 14th August 2018
+
+
+
+
+ 1
+
+ 15
+
+ 18
+
+ 25
+
+ 31
+
+ 9
+
+ 11
+
+
+
+
+
Millionaire Maker:
+
2 Codes
+
+
+
+
+
+
+
Friday 10th August 2018
+
+
+
+
+ 18
+
+ 20
+
+ 36
+
+ 43
+
+ 44
+
+ 3
+
+ 9
+
+
+
+
+
Millionaire Maker:
+
2 Codes
+
+
+
+
+
+
+
Tuesday 7th August 2018
+
+
+
+
+ 16
+
+ 28
+
+ 29
+
+ 30
+
+ 36
+
+ 8
+
+ 10
+
+
+
+
+
Millionaire Maker:
+
2 Codes
+
+
+
+
+
+
+
Friday 3rd August 2018
+
+
+
+
+ 7
+
+ 26
+
+ 36
+
+ 38
+
+ 43
+
+ 6
+
+ 12
+
+
+
+
+
Millionaire Maker:
+
2 Codes
+
+
+
+
+
+
+
Tuesday 31st July 2018
+
+
+
+
+ 20
+
+ 25
+
+ 34
+
+ 42
+
+ 45
+
+ 6
+
+ 11
+
+
+
+
+
Millionaire Maker:
+
2 Codes
+
+
+
+
+
+
+
Friday 27th July 2018
+
+
+
+
+ 11
+
+ 17
+
+ 22
+
+ 23
+
+ 41
+
+ 6
+
+ 11
+
+
+
+
+
Millionaire Maker:
+
2 Codes
+
+
+
+
+
+
+
Tuesday 24th July 2018
+
+
+
+
+ 2
+
+ 4
+
+ 23
+
+ 39
+
+ 40
+
+ 3
+
+ 9
+
+
+
+
+
Millionaire Maker:
+
2 Codes
+
+
+
+
+
+
+
Friday 20th July 2018
+
+
+
+
+ 2
+
+ 15
+
+ 40
+
+ 43
+
+ 46
+
+ 3
+
+ 6
+
+
+
+
+
Millionaire Maker:
+
2 Codes
+
+
+
+
+
+
+
Tuesday 17th July 2018
+
+
+
+
+ 4
+
+ 6
+
+ 27
+
+ 48
+
+ 50
+
+ 1
+
+ 11
+
+
+
+
+
Millionaire Maker:
+
2 Codes
+
+
+
+
+
+
+
Friday 13th July 2018
+
+
+
+
+ 1
+
+ 4
+
+ 14
+
+ 21
+
+ 49
+
+ 2
+
+ 12
+
+
+
+
+
Millionaire Maker:
+
13 Codes
+
+
+
+
+
+
+
Tuesday 10th July 2018
+
+
+
+
+ 3
+
+ 8
+
+ 26
+
+ 33
+
+ 45
+
+ 7
+
+ 10
+
+
+
+
+
Millionaire Maker:
+
2 Codes
+
+
+
+
+
+
+
Friday 6th July 2018
+
+
+
+
+ 8
+
+ 30
+
+ 33
+
+ 38
+
+ 48
+
+ 2
+
+ 10
+
+
+
+
+
Millionaire Maker:
+
2 Codes
+
+
+
+
+
+
+
Tuesday 3rd July 2018
+
+
+
+
+ 1
+
+ 12
+
+ 15
+
+ 29
+
+ 48
+
+ 3
+
+ 5
+
+
+
+
+
Millionaire Maker:
+
2 Codes
+
+
+
+
+
+
+
Friday 29th June 2018
+
+
+
+
+ 15
+
+ 21
+
+ 23
+
+ 40
+
+ 48
+
+ 3
+
+ 12
+
+
+
+
+
Millionaire Maker:
+
2 Codes
+
+
+
+
+
+
+
Tuesday 26th June 2018
+
+
+
+
+ 15
+
+ 16
+
+ 20
+
+ 34
+
+ 50
+
+ 4
+
+ 7
+
+
+
+
+
Millionaire Maker:
+
2 Codes
+
+
+
+
+
+
+
Friday 22nd June 2018
+
+
+
+
+ 14
+
+ 25
+
+ 39
+
+ 41
+
+ 44
+
+ 2
+
+ 8
+
+
+
+
+
Millionaire Maker:
+
2 Codes
+
+
+
+
+
+
+
Tuesday 19th June 2018
+
+
+
+
+ 7
+
+ 19
+
+ 26
+
+ 42
+
+ 50
+
+ 4
+
+ 9
+
+
+
+
+
Millionaire Maker:
+
2 Codes
+
+
+
+
+
+
+
Friday 15th June 2018
+
+
+
+
+ 23
+
+ 26
+
+ 33
+
+ 38
+
+ 49
+
+ 1
+
+ 12
+
+
+
+
+
Millionaire Maker:
+
2 Codes
+
+
+
+
+
+
+
Tuesday 12th June 2018
+
+
+
+
+ 7
+
+ 21
+
+ 23
+
+ 36
+
+ 38
+
+ 6
+
+ 8
+
+
+
+
+
Millionaire Maker:
+
2 Codes
+
+
+
+
+
+
+
Friday 8th June 2018
+
+
+
+
+ 8
+
+ 19
+
+ 32
+
+ 43
+
+ 46
+
+ 2
+
+ 8
+
+
+
+
+
Millionaire Maker:
+
2 Codes
+
+
+
+
+
+
+
Tuesday 5th June 2018
+
+
+
+
+ 9
+
+ 15
+
+ 22
+
+ 39
+
+ 46
+
+ 4
+
+ 5
+
+
+
+
+
Millionaire Maker:
+
2 Codes
+
+
+
+
+
+
+
Friday 1st June 2018
+
+
+
+
+ 17
+
+ 18
+
+ 24
+
+ 29
+
+ 40
+
+ 4
+
+ 5
+
+
+
+
+
Millionaire Maker:
+
2 Codes
+
+
+
+
+
+
+
Tuesday 29th May 2018
+
+
+
+
+ 6
+
+ 11
+
+ 20
+
+ 38
+
+ 43
+
+ 2
+
+ 4
+
+
+
+
+
Millionaire Maker:
+
2 Codes
+
+
+
+
+
+
+
Friday 25th May 2018
+
+
+
+
+ 13
+
+ 15
+
+ 16
+
+ 28
+
+ 41
+
+ 4
+
+ 5
+
+
+
+
+
Millionaire Maker:
+
2 Codes
+
+
+
+
+
+
+
Tuesday 22nd May 2018
+
+
+
+
+ 1
+
+ 11
+
+ 37
+
+ 41
+
+ 48
+
+ 8
+
+ 12
+
+
+
+
+
Millionaire Maker:
+
2 Codes
+
+
+
+
+
+
+
Friday 18th May 2018
+
+
+
+
+ 5
+
+ 8
+
+ 10
+
+ 13
+
+ 31
+
+ 3
+
+ 6
+
+
+
+
+
Millionaire Maker:
+
2 Codes
+
+
+
+
+
+
+
Tuesday 15th May 2018
+
+
+
+
+ 4
+
+ 16
+
+ 20
+
+ 31
+
+ 39
+
+ 2
+
+ 12
+
+
+
+
+
Millionaire Maker:
+
2 Codes
+
+
+
+
+
+
+
Friday 11th May 2018
+
+
+
+
+ 3
+
+ 22
+
+ 34
+
+ 49
+
+ 50
+
+ 8
+
+ 11
+
+
+
+
+
Millionaire Maker:
+
2 Codes
+
+
+
+
+
+
+
Tuesday 8th May 2018
+
+
+
+
+ 17
+
+ 25
+
+ 35
+
+ 39
+
+ 44
+
+ 2
+
+ 5
+
+
+
+
+
Millionaire Maker:
+
2 Codes
+
+
+
+
+
+
+
Friday 4th May 2018
+
+
+
+
+ 6
+
+ 12
+
+ 23
+
+ 39
+
+ 45
+
+ 9
+
+ 12
+
+
+
+
+
Millionaire Maker:
+
2 Codes
+
+
+
+
+
+
+
Tuesday 1st May 2018
+
+
+
+
+ 6
+
+ 15
+
+ 17
+
+ 42
+
+ 48
+
+ 4
+
+ 6
+
+
+
+
+
Millionaire Maker:
+
2 Codes
+
+
+
+
+
+
+
Friday 27th April 2018
+
+
+
+
+ 12
+
+ 24
+
+ 40
+
+ 41
+
+ 46
+
+ 5
+
+ 12
+
+
+
+
+
Millionaire Maker:
+
2 Codes
+
+
+
+
+
+
+
Tuesday 24th April 2018
+
+
+
+
+ 20
+
+ 23
+
+ 28
+
+ 30
+
+ 44
+
+ 3
+
+ 7
+
+
+
+
+
Millionaire Maker:
+
2 Codes
+
+
+
+
+
+
+
Friday 20th April 2018
+
+
+
+
+ 3
+
+ 16
+
+ 25
+
+ 39
+
+ 44
+
+ 7
+
+ 11
+
+
+
+
+
Millionaire Maker:
+
2 Codes
+
+
+
+
+
+
+
Tuesday 17th April 2018
+
+
+
+
+ 15
+
+ 27
+
+ 33
+
+ 39
+
+ 50
+
+ 4
+
+ 6
+
+
+
+
+
Millionaire Maker:
+
2 Codes
+
+
+
+
+
+
+
Friday 13th April 2018
+
+
+
+
+ 5
+
+ 25
+
+ 34
+
+ 48
+
+ 50
+
+ 6
+
+ 7
+
+
+
+
+
Millionaire Maker:
+
13 Codes
+
+
+
+
+
+
+
Tuesday 10th April 2018
+
+
+
+
+ 14
+
+ 27
+
+ 39
+
+ 46
+
+ 48
+
+ 11
+
+ 12
+
+
+
+
+
Millionaire Maker:
+
2 Codes
+
+
+
+
+
+
+
Friday 6th April 2018
+
+
+
+
+ 1
+
+ 29
+
+ 33
+
+ 45
+
+ 47
+
+ 4
+
+ 8
+
+
+
+
+
Millionaire Maker:
+
2 Codes
+
+
+
+
+
+
+
Tuesday 3rd April 2018
+
+
+
+
+ 3
+
+ 8
+
+ 16
+
+ 40
+
+ 43
+
+ 5
+
+ 8
+
+
+
+
+
Millionaire Maker:
+
2 Codes
+
+
+
+
+
+
+
Friday 30th March 2018
+
+
+
+
+ 12
+
+ 17
+
+ 28
+
+ 35
+
+ 47
+
+ 7
+
+ 11
+
+
+
+
+
Millionaire Maker:
+
2 Codes
+
+
+
+
+
+
+
Tuesday 27th March 2018
+
+
+
+
+ 17
+
+ 20
+
+ 23
+
+ 40
+
+ 46
+
+ 9
+
+ 10
+
+
+
+
+
Millionaire Maker:
+
2 Codes
+
+
+
+
+
+
+
Friday 23rd March 2018
+
+
+
+
+ 5
+
+ 7
+
+ 11
+
+ 46
+
+ 50
+
+ 8
+
+ 11
+
+
+
+
+
Millionaire Maker:
+
2 Codes
+
+
+
+
+
+
+
Tuesday 20th March 2018
+
+
+
+
+ 26
+
+ 29
+
+ 37
+
+ 39
+
+ 44
+
+ 9
+
+ 11
+
+
+
+
+
Millionaire Maker:
+
2 Codes
+
+
+
+
+
+
+
Friday 16th March 2018
+
+
+
+
+ 4
+
+ 17
+
+ 24
+
+ 27
+
+ 31
+
+ 10
+
+ 11
+
+
+
+
+
Millionaire Maker:
+
2 Codes
+
+
+
+
+
+
+
Tuesday 13th March 2018
+
+
+
+
+ 9
+
+ 11
+
+ 13
+
+ 33
+
+ 49
+
+ 6
+
+ 12
+
+
+
+
+
Millionaire Maker:
+
2 Codes
+
+
+
+
+
+
+
Friday 9th March 2018
+
+
+
+
+ 9
+
+ 14
+
+ 21
+
+ 32
+
+ 44
+
+ 1
+
+ 12
+
+
+
+
+
Millionaire Maker:
+
2 Codes
+
+
+
+
+
+
+
Tuesday 6th March 2018
+
+
+
+
+ 15
+
+ 20
+
+ 26
+
+ 31
+
+ 44
+
+ 2
+
+ 9
+
+
+
+
+
Millionaire Maker:
+
2 Codes
+
+
+
+
+
+
+
Friday 2nd March 2018
+
+
+
+
+ 2
+
+ 7
+
+ 34
+
+ 45
+
+ 48
+
+ 1
+
+ 12
+
+
+
+
+
Millionaire Maker:
+
2 Codes
+
+
+
+
+
+
+
Tuesday 27th February 2018
+
+
+
+
+ 3
+
+ 31
+
+ 41
+
+ 48
+
+ 50
+
+ 8
+
+ 11
+
+
+
+
+
Millionaire Maker:
+
2 Codes
+
+
+
+
+
+
+
Friday 23rd February 2018
+
+
+
+
+ 10
+
+ 17
+
+ 18
+
+ 28
+
+ 47
+
+ 3
+
+ 7
+
+
+
+
+
Millionaire Maker:
+
2 Codes
+
+
+
+
+
+
+
Tuesday 20th February 2018
+
+
+
+
+ 6
+
+ 14
+
+ 19
+
+ 25
+
+ 29
+
+ 5
+
+ 11
+
+
+
+
+
Millionaire Maker:
+
2 Codes
+
+
+
+
+
+
+
Friday 16th February 2018
+
+
+
+
+ 10
+
+ 12
+
+ 23
+
+ 32
+
+ 50
+
+ 4
+
+ 10
+
+
+
+
+
Millionaire Maker:
+
2 Codes
+
+
+
+
+
+
+
Tuesday 13th February 2018
+
+
+
+
+ 10
+
+ 13
+
+ 17
+
+ 21
+
+ 44
+
+ 1
+
+ 10
+
+
+
+
+
Millionaire Maker:
+
2 Codes
+
+
+
+
+
+
+
Friday 9th February 2018
+
+
+
+
+ 22
+
+ 31
+
+ 36
+
+ 38
+
+ 44
+
+ 1
+
+ 11
+
+
+
+
+
Millionaire Maker:
+
2 Codes
+
+
+
+
+
+
+
Tuesday 6th February 2018
+
+
+
+
+ 8
+
+ 17
+
+ 28
+
+ 34
+
+ 38
+
+ 6
+
+ 12
+
+
+
+
+
Millionaire Maker:
+
2 Codes
+
+
+
+
+
+
+
Friday 2nd February 2018
+
+
+
+
+ 14
+
+ 34
+
+ 36
+
+ 39
+
+ 48
+
+ 2
+
+ 3
+
+
+
+
+
Millionaire Maker:
+
2 Codes
+
+
+
+
+
+
+
Tuesday 30th January 2018
+
+
+
+
+ 11
+
+ 15
+
+ 21
+
+ 27
+
+ 35
+
+ 4
+
+ 5
+
+
+
+
+
Millionaire Maker:
+
2 Codes
+
+
+
+
+
+
+
Friday 26th January 2018
+
+
+
+
+ 6
+
+ 15
+
+ 24
+
+ 28
+
+ 48
+
+ 4
+
+ 9
+
+
+
+
+
Millionaire Maker:
+
2 Codes
+
+
+
+
+
+
+
Tuesday 23rd January 2018
+
+
+
+
+ 5
+
+ 8
+
+ 9
+
+ 23
+
+ 24
+
+ 7
+
+ 8
+
+
+
+
+
Millionaire Maker:
+
2 Codes
+
+
+
+
+
+
+
Friday 19th January 2018
+
+
+
+
+ 3
+
+ 8
+
+ 17
+
+ 44
+
+ 50
+
+ 2
+
+ 7
+
+
+
+
+
Millionaire Maker:
+
2 Codes
+
+
+
+
+
+
+
Tuesday 16th January 2018
+
+
+
+
+ 20
+
+ 23
+
+ 31
+
+ 34
+
+ 46
+
+ 3
+
+ 12
+
+
+
+
+
Millionaire Maker:
+
2 Codes
+
+
+
+
+
+
+
Friday 12th January 2018
+
+
+
+
+ 13
+
+ 21
+
+ 23
+
+ 30
+
+ 45
+
+ 4
+
+ 6
+
+
+
+
+
Millionaire Maker:
+
2 Codes
+
+
+
+
+
+
+
Tuesday 9th January 2018
+
+
+
+
+ 6
+
+ 12
+
+ 15
+
+ 38
+
+ 49
+
+ 2
+
+ 9
+
+
+
+
+
Millionaire Maker:
+
2 Codes
+
+
+
+
+
+
+
Friday 5th January 2018
+
+
+
+
+ 2
+
+ 5
+
+ 20
+
+ 38
+
+ 41
+
+ 4
+
+ 8
+
+
+
+
+
Millionaire Maker:
+
2 Codes
+
+
+
+
+
+
+
Tuesday 2nd January 2018
+
+
+
+
+ 10
+
+ 20
+
+ 21
+
+ 28
+
+ 48
+
+ 1
+
+ 8
+
+
+
+
+
Millionaire Maker:
+
2 Codes
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/test/data/2019.html b/test/data/2019.html
new file mode 100644
index 0000000..8e031cb
--- /dev/null
+++ b/test/data/2019.html
@@ -0,0 +1,716 @@
+
+
+ EuroMillions Results Archive for 2019
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Tonight's EuroMillions jackpot is estimated at a staggering £123 Million! Subscribe Now
+
+
+
+
+
+
+
+
+
EuroMillions Results Archive 2019
+
+
+ Home
+ Results
+ 2019 Archive
+
+
+
This page lists all EuroMillions results drawn in 2019. Select a result to view draw information.
+
+
+
+
+
+
+
+
+ Tonight's Estimated Jackpot is:
+
+
+
+ £123 Million!
+
+
+
+
+
+
+
+
+
+
+
0 Days 8:5:0
+
+
+
+
+
Tuesday 5th February 2019
+
+
+
+
+ 14
+
+ 25
+
+ 31
+
+ 37
+
+ 43
+
+ 2
+
+ 3
+
+
+
+
+
Millionaire Maker:
+
1 Code
+
+
+
+
+
+
+
Friday 1st February 2019
+
+
+
+
+ 3
+
+ 21
+
+ 26
+
+ 41
+
+ 46
+
+ 1
+
+ 6
+
+
+
+
+
Millionaire Maker:
+
1 Code
+
+
+
+
+
+
+
Tuesday 29th January 2019
+
+
+
+
+ 14
+
+ 24
+
+ 26
+
+ 32
+
+ 39
+
+ 3
+
+ 8
+
+
+
+
+
Millionaire Maker:
+
1 Code
+
+
+
+
+
+
+
Friday 25th January 2019
+
+
+
+
+ 1
+
+ 6
+
+ 13
+
+ 15
+
+ 16
+
+ 6
+
+ 10
+
+
+
+
+
Millionaire Maker:
+
1 Code
+
+
+
+
+
+
+
Tuesday 22nd January 2019
+
+
+
+
+ 9
+
+ 23
+
+ 29
+
+ 41
+
+ 49
+
+ 8
+
+ 10
+
+
+
+
+
Millionaire Maker:
+
1 Code
+
+
+
+
+
+
+
Friday 18th January 2019
+
+
+
+
+ 5
+
+ 6
+
+ 16
+
+ 30
+
+ 46
+
+ 5
+
+ 10
+
+
+
+
+
Millionaire Maker:
+
1 Code
+
+
+
+
+
+
+
Tuesday 15th January 2019
+
+
+
+
+ 22
+
+ 25
+
+ 29
+
+ 33
+
+ 35
+
+ 3
+
+ 6
+
+
+
+
+
Millionaire Maker:
+
1 Code
+
+
+
+
+
+
+
Friday 11th January 2019
+
+
+
+
+ 1
+
+ 19
+
+ 31
+
+ 39
+
+ 48
+
+ 1
+
+ 6
+
+
+
+
+
Millionaire Maker:
+
2 Codes
+
+
+
+
+
+
+
Tuesday 8th January 2019
+
+
+
+
+ 3
+
+ 19
+
+ 22
+
+ 31
+
+ 32
+
+ 2
+
+ 11
+
+
+
+
+
Millionaire Maker:
+
2 Codes
+
+
+
+
+
+
+
Friday 4th January 2019
+
+
+
+
+ 7
+
+ 11
+
+ 19
+
+ 27
+
+ 37
+
+ 6
+
+ 10
+
+
+
+
+
Millionaire Maker:
+
2 Codes
+
+
+
+
+
+
+
Tuesday 1st January 2019
+
+
+
+
+ 1
+
+ 8
+
+ 11
+
+ 25
+
+ 28
+
+ 4
+
+ 6
+
+
+
+
+
Millionaire Maker:
+
10 Codes
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/test/data/draw.html b/test/data/draw.html
new file mode 100644
index 0000000..f8b3164
--- /dev/null
+++ b/test/data/draw.html
@@ -0,0 +1,1260 @@
+
+
+ EuroMillions Results for Tuesday 29th January 2019 - Draw 1185
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
EuroMillions Results for 29th January 2019
+
+
+ Home
+ Results
+ Tuesday 29th January 2019
+
+
+
The 1185th EuroMillions draw took place on Tuesday 29th January 2019 at 21:00 CET (20:00 GMT) and the winning numbers drawn were:
+
+
+
+
+
+
+
+
Millionaire Maker
+
XHRG26506
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Friday's Estimated Jackpot is:
+
+
+
+ £104 Million!
+
+
+
+
+
+
+
+
+
+
+
1 Days 6:40:38
+
UK Prize Breakdown
+
View prize breakdowns for other countries
+
Numbers Matched Prize Per Winner UK Winners Prize Fund Amount Total Winners Match 5 and 2 Stars £75,051,591.00 0 £0.00 Rollover! 0Match 5 and 1 Star £128,060.40 2 £256,120.80 5 Match 5 £13,557.60 1 £13,557.60 11 Match 4 and 2 Stars £1,696.40 15 £25,446.00 43 Match 4 and 1 Star £98.60 177 £17,452.20 789 Match 3 and 2 Stars £55.10 459 £25,290.90 1,971 Match 4 £37.80 384 £14,515.20 1,626 Match 2 and 2 Stars £9.90 7,120 £70,488.00 28,420 Match 3 and 1 Star £8.70 8,122 £70,661.40 34,272 Match 3 £7.90 17,524 £138,439.60 70,957 Match 1 and 2 Stars £5.40 37,756 £203,882.40 148,184 Match 2 and 1 Star £4.90 118,149 £578,930.10 483,657 Match 2 £2.90 253,371 £734,775.90 1,004,860 Totals - 443,080 £2,149,560.10 1,774,795
EuroMillions prizes in the UK must be claimed within 180 days of the draw date, so tickets purchased for this draw are valid until Sunday 28th July 2019 .
+
+
+
+
Additional Draw Information
+
Machine Name Used: 01
Ball Set Used: 09
In total there were 23,051,203 entries into this draw from all participating countries.
The estimated jackpot advertised in the UK prior to the draw was £74,000,000 .
+
+
+
European Prize Breakdowns
+
+
+
+
+
+
+
+
+
Numbers Matched Prize Per Winner Irish Winners Prize Fund Amount Total Winners Match 5 and 2 Stars €85,646,002.00 0 €0.00 Rollover! 0Match 5 and 1 Star €200,315.00 0 €0.00 5 Match 5 €21,207.00 0 €0.00 11 Match 4 and 2 Stars €2,654.00 1 €2,654.00 43 Match 4 and 1 Star €154.00 19 €2,926.00 789 Match 3 and 2 Stars €86.00 42 €3,612.00 1,971 Match 4 €59.00 38 €2,242.00 1,626 Match 2 and 2 Stars €16.00 632 €10,112.00 28,420 Match 3 and 1 Star €14.00 811 €11,354.00 34,272 Match 3 €13.00 1,855 €24,115.00 70,957 Match 1 and 2 Stars €8.00 3,590 €28,720.00 148,184 Match 2 and 1 Star €8.00 12,529 €100,232.00 483,657 Match 2 €5.00 27,148 €135,740.00 1,004,860 Totals - 46,665 €321,707.00 1,774,795
+
EuroMillions prizes in Ireland must be claimed within 90 days of the draw date, so tickets purchased for this draw are valid until Monday 29th April 2019 .
+
The estimated jackpot advertised in Ireland prior to the draw was €85,000,000 .
+
+
+
+
Numbers Matched Prize Per Winner French Winners Prize Fund Amount Total Winners Match 5 and 2 Stars €85,646,002.00 0 €0.00 Rollover! 0Match 5 and 1 Star €200,314.90 0 €0.00 5 Match 5 and 1 Star (with Étoile+)* €0.00 0 €0.00 0 Match 5 €21,207.10 5 €106,035.50 11 Match 4 and 2 Stars €2,653.50 6 €15,921.00 43 Match 4 and 2 Stars (with Étoile+)* €5,083.90 2 €10,167.80 2 Match 4 and 1 Star €154.20 141 €21,742.20 789 Match 4 and 1 Star (with Étoile+)* €193.50 28 €5,418.00 28 Match 3 and 2 Stars €86.10 395 €34,009.50 1,971 Match 3 and 2 Stars (with Étoile+)* €96.60 104 €10,046.40 104 Match 4 €59.20 281 €16,635.20 1,626 Match 2 and 2 Stars €15.60 5,073 €79,138.80 28,420 Match 2 and 2 Stars (with Étoile+)* €18.70 1,196 €22,365.20 1,196 Match 3 and 1 Star €13.60 6,354 €86,414.40 34,272 Match 3 and 1 Star (with Étoile+)* €16.40 1,550 €25,420.00 1,550 Match 3 €12.50 12,695 €158,687.50 70,957 Match 1 and 2 Stars €8.40 27,173 €228,253.20 148,184 Match 1 and 2 Stars (with Étoile+)* €10.70 6,506 €69,614.20 6,506 Match 0 and 2 Stars (with Étoile+)* €8.20 11,803 €96,784.60 11,803 Match 2 and 1 Star €7.70 90,717 €698,520.90 483,657 Match 2 and 1 Star (with Étoile+)* €9.70 21,537 €208,908.90 21,537 Match 2 €4.60 186,361 €857,260.60 1,004,860 Match 0 and 1 Star (with Étoile+)* €2.20 210,433 €462,952.60 210,433 Totals - 582,360 €3,214,296.50 2,027,954
*Étoile+ prize amounts are only applicable to French tickets that played the Étoile+ option.
+
EuroMillions prizes in France must be claimed within 60 days of the draw date, so tickets purchased for this draw are valid until Saturday 30th March 2019 .
+
The estimated jackpot advertised in France prior to the draw was €84,000,000 .
+
+
+
+
Numbers Matched Prize Per Winner Spanish Winners Prize Fund Amount Total Winners Match 5 and 2 Stars €85,646,002.00 0 €0.00 Rollover! 0Match 5 and 1 Star €200,314.95 2 €400,629.90 5 Match 5 €21,207.11 1 €21,207.11 11 Match 4 and 2 Stars €2,653.57 8 €21,228.56 43 Match 4 and 1 Star €154.26 147 €22,676.22 789 Match 3 and 2 Stars €86.19 339 €29,218.41 1,971 Match 4 €59.26 350 €20,741.00 1,626 Match 2 and 2 Stars €15.61 5,150 €80,391.50 28,420 Match 3 and 1 Star €13.69 6,572 €89,970.68 34,272 Match 3 €12.51 14,022 €175,415.22 70,957 Match 1 and 2 Stars €8.47 27,299 €231,222.53 148,184 Match 2 and 1 Star €7.79 94,738 €738,009.02 483,657 Match 2 €4.61 199,011 €917,440.71 1,004,860 Totals - 347,639 €2,748,150.86 1,774,795
+
EuroMillions prizes in Spain must be claimed within 90 days of the draw date, so tickets purchased for this draw are valid until Monday 29th April 2019 .
+
The estimated jackpot advertised in Spain prior to the draw was €84,000,000 .
+
+
+
+
Numbers Matched Prize Per Winner Portuguese Winners Prize Fund Amount Total Winners Match 5 and 2 Stars €85,646,002.00 0 €0.00 Rollover! 0Match 5 and 1 Star €200,314.95 0 €0.00 5 Match 5 €21,207.10 0 €0.00 11 Match 4 and 2 Stars €2,653.56 2 €5,307.12 43 Match 4 and 1 Star €154.25 123 €18,972.75 789 Match 3 and 2 Stars €86.19 313 €26,977.47 1,971 Match 4 €59.25 203 €12,027.75 1,626 Match 2 and 2 Stars €15.61 4,304 €67,185.44 28,420 Match 3 and 1 Star €13.68 4,735 €64,774.80 34,272 Match 3 €12.50 8,804 €110,050.00 70,957 Match 1 and 2 Stars €8.47 21,432 €181,529.04 148,184 Match 2 and 1 Star €7.78 65,331 €508,275.18 483,657 Match 2 €4.60 123,471 €567,966.60 1,004,860 Totals - 228,718 €1,563,066.15 1,774,795
Out of 23,051,203 entries, 2,830,297 were from Portugal, of which 2,628,290 entries were generated from the 'Combination System' on 1,518,642 tickets.
+
EuroMillions prizes in Portugal must be claimed within 90 days of the draw date, so tickets purchased for this draw are valid until Monday 29th April 2019 .
+
The estimated jackpot advertised in Portugal prior to the draw was €84,000,000 .
+
+
+
+
Numbers Matched Prize Per Winner Luxembourgian & Swiss Winners Total Winners Match 5 and 2 Stars CHF0.00 0 Rollover! 0Match 5 and 1 Star CHF228,253.50 0 5 Match 5 CHF32,983.40 2 11 Match 4 and 2 Stars CHF4,127.10 7 43 Match 4 and 1 Star CHF239.90 66 789 Match 3 and 2 Stars CHF134.05 177 1,971 Match 4 CHF92.15 149 1,626 Match 2 and 2 Stars CHF24.30 2,617 28,420 Match 3 and 1 Star CHF21.30 3,135 34,272 Match 3 CHF19.45 6,054 70,957 Match 1 and 2 Stars CHF13.15 12,758 148,184 Match 2 and 1 Star CHF12.10 39,529 483,657 Match 2 CHF7.15 79,124 1,004,860 Totals - 143,618 1,774,795
+
EuroMillions prizes in Switzerland must be claimed within 180 days of the draw date, so tickets purchased for this draw are valid until Sunday 28th July 2019 .
+
The estimated jackpot advertised in Switzerland prior to the draw was CHF95,000,000 .
+
+
+
+
Numbers Matched Prize Per Winner Belgian Winners Prize Fund Amount Total Winners Match 5 and 2 Stars €85,646,002.00 0 €0.00 Rollover! 0Match 5 and 1 Star €200,314.90 0 €0.00 5 Match 5 €21,207.10 1 €21,207.10 11 Match 4 and 2 Stars €2,653.50 2 €5,307.00 43 Match 4 and 1 Star €154.20 64 €9,868.80 789 Match 3 and 2 Stars €86.10 144 €12,398.40 1,971 Match 4 €59.20 122 €7,222.40 1,626 Match 2 and 2 Stars €15.60 1,938 €30,232.80 28,420 Match 3 and 1 Star €13.60 2,450 €33,320.00 34,272 Match 3 €12.50 5,601 €70,012.50 70,957 Match 1 and 2 Stars €8.40 10,042 €84,352.80 148,184 Match 2 and 1 Star €7.70 33,738 €259,782.60 483,657 Match 2 €4.60 73,804 €339,498.40 1,004,860 Totals - 127,906 €873,202.80 1,774,795
+
EuroMillions prizes in Belgium must be claimed within 140 days of the draw date, so tickets purchased for this draw are valid until Tuesday 18th June 2019 .
+
The estimated jackpot advertised in Belgium prior to the draw was €84,000,000 .
+
+
+
+
Numbers Matched Prize Per Winner Austrian Winners Prize Fund Amount Total Winners Match 5 and 2 Stars €85,646,002.00 0 €0.00 Rollover! 0Match 5 and 1 Star €200,314.90 1 €200,314.90 5 Match 5 €21,207.10 1 €21,207.10 11 Match 4 and 2 Stars €2,653.50 2 €5,307.00 43 Match 4 and 1 Star €154.20 52 €8,018.40 789 Match 3 and 2 Stars €86.10 102 €8,782.20 1,971 Match 4 €59.20 99 €5,860.80 1,626 Match 2 and 2 Stars €15.60 1,586 €24,741.60 28,420 Match 3 and 1 Star €13.60 2,093 €28,464.80 34,272 Match 3 €12.50 4,402 €55,025.00 70,957 Match 1 and 2 Stars €8.40 8,134 €68,325.60 148,184 Match 2 and 1 Star €7.70 28,926 €222,730.20 483,657 Match 2 €4.60 62,570 €287,822.00 1,004,860 Totals - 107,968 €936,599.60 1,774,795
+
EuroMillions prizes in Austria must be claimed within 3 Years of the draw date, so tickets purchased for this draw are valid until Friday 28th January 2022 .
+
The estimated jackpot advertised in Austria prior to the draw was €84,000,000 .
+
+
+
+
Numbers Matched Prize Per Winner Luxembourgian & Swiss Winners Total Winners Match 5 and 2 Stars €85,646,002.00 0 Rollover! 0Match 5 and 1 Star €200,314.90 0 5 Match 5 €21,207.10 2 11 Match 4 and 2 Stars €2,653.50 7 43 Match 4 and 1 Star €154.20 66 789 Match 3 and 2 Stars €86.10 177 1,971 Match 4 €59.20 149 1,626 Match 2 and 2 Stars €15.60 2,617 28,420 Match 3 and 1 Star €13.60 3,135 34,272 Match 3 €12.50 6,054 70,957 Match 1 and 2 Stars €8.40 12,758 148,184 Match 2 and 1 Star €7.70 39,529 483,657 Match 2 €4.60 79,124 1,004,860 Totals - 143,618 1,774,795
+
EuroMillions prizes in Luxembourg must be claimed within 60 days of the draw date, so tickets purchased for this draw are valid until Saturday 30th March 2019 .
+
+
+
+
+
+
Associated Draw Results
+
+
+
+
+
+
+
UK Millionaire Maker Results - Tuesday 29th January 2019
+
+
Millionaire Maker
+
XHRG26506
+
+
+
+
EuroMillions HotPicks Results - Tuesday 29th January 2019
+
+
+
+
+
+ Numbers Matched
+ Prize Per Winner
+ Winners
+ Prize Fund Amount
+
+
+
+ Pick 5 Match 5 £1,000,000.00 1 £1,000,000.00 Pick 4 Match 4 £30,000.00 2 £60,000.00 Pick 3 Match 3 £1,500.00 122 £183,000.00 Pick 2 Match 2 £100.00 1,663 £166,300.00 Pick 1 Match 1 £10.00 2,728 £27,280.00 Totals - 4,516 £1,436,580.00
+
+
+
+
+
+
+
Irish Raffle Results - Tuesday 29th January 2019
+
+
+
10 Irish Raffle Codes:
+
+
+
+ IFTN84358
+
+ IFTN98606
+
+ IFTP12873
+
+ IFTQ08282
+
+ IFTR15837
+
+ IFTS22429
+
+ IFTS33238
+
+ IFTS73089
+
+ IFTT59194
+
+ IFTV06136
+
+
+
+
+
+
+
+
EuroMillions Plus Results - Tuesday 29th January 2019
+
+
+
+
+
+ Numbers Matched
+ Prize Per Winner
+ Winners
+ Prize Fund Amount
+
+
+
+ Match 5 €500,000.00 0 €0.00 Match 4 €2,000.00 71 €142,000.00 Match 3 €20.00 2,877 €57,540.00 Totals - 2,948 €199,540.00
+
+
+
+
+
+
+
My Million Results - Tuesday 29th January 2019
+
+
My Million
+
DQ8811826
+
+
+
+
+
+
+
+
+
+
Super Star Results - Tuesday 29th January 2019
+
+
+
+
+
+
+ Prize Categories
+ Prize Per Winner
+ Winners
+ Prize Fund Amount
+
+
+
+ Match 5 in Exact Order CHF0.00 0 CHF0.00 Match First 2 + Last 2 CHF2,388.40 5 CHF11,942.00 Match First 3 + Last 1 or First 1 + Last 3 CHF2,487.95 4 CHF9,951.80 Match First 4 or Last 4 CHF1,266.60 11 CHF13,932.60 Match First 2 + Last 1 or First 1 + Last 2 CHF411.80 29 CHF11,942.20 Match First 3 or Last 3 CHF51.80 125 CHF6,475.00 Match First 1 + Last 1 CHF20.60 218 CHF4,490.80 Match First 2 or Last 2 CHF10.55 1,225 CHF12,923.75 Match First 1 or Last 1 CHF4.20 11,857 CHF49,799.40 Totals - 13,474 CHF121,457.55
+
+
+
Second Chance Results - Tuesday 29th January 2019
+
+
+
+
+
+ Numbers Matched
+ Prize Per Winner
+ Winners
+ Prize Fund Amount
+
+
+
+ Match 5 CHF71,046.50 2 CHF142,093.00 Match 4 CHF390.00 229 CHF89,310.00 Match 3 CHF19.60 8,918 CHF174,792.80 Totals - 9,149 CHF406,195.80
+
+
+
+
+
+
+
+
+
+
Belgium Joker+ Results - Tuesday 29th January 2019
+
+
+ 5
+ 9
+ 0
+ 0
+ 4
+ 8
+
+
+
+
+ Constellation:
+ Tweelingen
+
+
+
+
+
+
+ Prize Categories
+ Prize Per Winner
+ Winners
+ Prize Fund Amount
+
+
+
+ Match 6 plus Constellation €800,000.00 0 €0.00 Match 6 €20,000.00 0 €0.00 Match 5 €2,000.00 1 €2,000.00 Match 4 €200.00 17 €3,400.00 Match 3 €20.00 209 €4,180.00 Match 2 €5.00 2,318 €11,590.00 Match 1 €2.00 23,448 €46,896.00 Constellation €1.50 11,172 €16,758.00 Totals - 37,165 €84,824.00
+
+
+
My Bonus Results - Tuesday 29th January 2019
+
+
+
200 My Bonus Codes of €500:
+
+
+
+ BNDC97128
+
+ BNDV76879
+
+ BNDX87638
+
+ BNFM49797
+
+ BNFP72101
+
+ BNFZ61632
+
+ BNFZ92767
+
+ BNGQ41665
+
+ BNGQ76907
+
+ BNGS94151
+
+ BNGZ60254
+
+ BNGZ94461
+
+ BNHW46801
+
+ BNJC47778
+
+ BNJG14670
+
+ BNJN58652
+
+ BNJR93355
+
+ BNJV64256
+
+ BNJZ01465
+
+ BNKB60660
+
+ BNKC79254
+
+ BNKF48000
+
+ BNKK94871
+
+ BNKM64234
+
+ BNKM68052
+
+ BNKM68863
+
+ BNKM69590
+
+ BNKM72252
+
+ BNKM78585
+
+ BNKM83460
+
+ BNKM85512
+
+ BNKM93533
+
+ BNKM99075
+
+ BNKN15652
+
+ BNKN48868
+
+ BNKN52156
+
+ BNKN61023
+
+ BNKP01593
+
+ BNKP17555
+
+ BNKP30945
+
+ BNKP65124
+
+ BNKP68612
+
+ BNKP79309
+
+ BNKP84152
+
+ BNKQ03336
+
+ BNKQ06127
+
+ BNKQ10736
+
+ BNKQ25662
+
+ BNKQ36828
+
+ BNKQ51391
+
+ BNKQ92804
+
+ BNKQ96960
+
+ BNKR05745
+
+ BNKR14012
+
+ BNKR36976
+
+ BNKR51709
+
+ BNKR62453
+
+ BNKR71235
+
+ BNKR80402
+
+ BNKR98991
+
+ BNKS33623
+
+ BNKS37741
+
+ BNKS39073
+
+ BNKS60390
+
+ BNKS70166
+
+ BNKS75261
+
+ BNKS76242
+
+ BNKS83345
+
+ BNKS84063
+
+ BNKS85595
+
+ BNKS89141
+
+ BNKS91378
+
+ BNKS93734
+
+ BNKS95308
+
+ BNKS95598
+
+ BNKT10727
+
+ BNKT43720
+
+ BNKT53031
+
+ BNKT60640
+
+ BNKT69706
+
+ BNKT70174
+
+ BNKT72247
+
+ BNKT81413
+
+ BNKT93608
+
+ BNKV06861
+
+ BNKV27224
+
+ BNKV27434
+
+ BNKV32189
+
+ BNKV37417
+
+ BNKV39096
+
+ BNKV42809
+
+ BNKV47232
+
+ BNKV60639
+
+ BNKV62062
+
+ BNKV63498
+
+ BNKV95798
+
+ BNKW10605
+
+ BNKW16880
+
+ BNKW22155
+
+ BNKW28429
+
+ BNKW36937
+
+ BNKW39377
+
+ BNKW41898
+
+ BNKW55521
+
+ BNKW59478
+
+ BNKW69417
+
+ BNKW86801
+
+ BNKW88066
+
+ BNKW97628
+
+ BNKX04814
+
+ BNKX07797
+
+ BNKX20573
+
+ BNKX33601
+
+ BNKX43704
+
+ BNKX54114
+
+ BNKX67152
+
+ BNKX71993
+
+ BNKX72028
+
+ BNKX87650
+
+ BNKZ03154
+
+ BNKZ12842
+
+ BNKZ13064
+
+ BNKZ25455
+
+ BNKZ25502
+
+ BNKZ41072
+
+ BNKZ41498
+
+ BNKZ61993
+
+ BNKZ62120
+
+ BNKZ68441
+
+ BNKZ72298
+
+ BNKZ87987
+
+ BNLB06872
+
+ BNLB15589
+
+ BNLB17315
+
+ BNLB18713
+
+ BNLB24971
+
+ BNLB28003
+
+ BNLB33310
+
+ BNLB41689
+
+ BNLB51315
+
+ BNLB51385
+
+ BNLB51826
+
+ BNLB52178
+
+ BNLB52391
+
+ BNLB53334
+
+ BNLB60439
+
+ BNLB65840
+
+ BNLB68880
+
+ BNLB87467
+
+ BNLB92633
+
+ BNLB94431
+
+ BNLC01832
+
+ BNLC24092
+
+ BNLC28183
+
+ BNLC36748
+
+ BNLC37354
+
+ BNLC38739
+
+ BNLC50263
+
+ BNLC58233
+
+ BNLC71323
+
+ BNLC83670
+
+ BNLC84922
+
+ BNLC95343
+
+ BNLC99261
+
+ BNLD13904
+
+ BNLD39751
+
+ BNLD41595
+
+ BNLD45609
+
+ BNLD51257
+
+ BNLD52736
+
+ BNLD55185
+
+ BNLD61411
+
+ BNLD62849
+
+ BNLD63004
+
+ BNLD87669
+
+ BNLD92088
+
+ BNLD93173
+
+ BNLD99919
+
+ BNLF01218
+
+ BNLF09413
+
+ BNLF15097
+
+ BNLF22714
+
+ BNLF24873
+
+ BNLF26710
+
+ BNLF32081
+
+ BNLF43737
+
+ BNLF47007
+
+ BNLF47184
+
+ BNLF47400
+
+ BNLF67642
+
+ BNLF83568
+
+ BNLF88554
+
+ BNLF90381
+
+ BNLF91138
+
+ BNLF95902
+
+ BNLF96324
+
+ BNLF96774
+
+ BNLF99880
+
+ BNLG02337
+
+ BZZZ83927
+
+
+
+
+
+
+
+
+
+
+
+
+
Austrian Joker Results
+
With the Austrian Joker being drawn on dissimilar days to EuroMillions, please refer to the Austrian Joker page for results relevant to your ticket:
+
+
+
+
+
+
Luxembourg Joker Results - Tuesday 29th January 2019
+
+
+ 3
+ 5
+ 4
+ 8
+ 7
+ 8
+
+
+
+
+
+
+
+ Prize Categories
+ Prize Per Winner
+ Winners
+ Prize Fund Amount
+
+
+
+ Match 6 €500,000.00 0 €0.00 Match Last 5 in Exact Order €10,000.00 0 €0.00 Match Last 4 in Exact Order €1,000.00 2 €2,000.00 Match Last 3 in Exact Order €100.00 17 €1,700.00 Match Last 2 in Exact Order €10.00 143 €1,430.00 Match Last 1 in Exact Order €2.00 1,394 €2,788.00 Totals - 1,556 €7,918.00
+
+
+
Extra Lux Results - Tuesday 29th January 2019
+
+
+
+
+
+ Numbers Matched
+ Prize Per Winner
+ Winners
+ Prize Fund Amount
+
+
+
+ Match 5 €100,000.00 0 €0.00 Match 4 €500.00 15 €7,500.00 Match 3 €10.00 496 €4,960.00 Totals - 511 €12,460.00
+
+
+
+
+
+
+
+
+
+
+
+
+
Related Links
+
+
+
+
+
+
+
+
+
EuroMillions App
+
+
+ Check results
+ Automatic ticket checker
+ View the latest jackpot
+ Easily buy tickets
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/test/data/euromillions.co.html b/test/data/euromillions.co.html
new file mode 100644
index 0000000..7b60d21
--- /dev/null
+++ b/test/data/euromillions.co.html
@@ -0,0 +1,433 @@
+
+
+
+ Latest EuroMillions Result and Prizes
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Home
+
+
Latest EuroMillions Results and Prizes
+
Tuesday 5th February 2019
+
+
+
+ 14
+ 25
+ 31
+ 37
+ 43
+ 2
+ 3
+
+
+
+
+
Previous Results
+
+
+
+
+
+ 3
+ 21
+ 26
+ 41
+ 46
+ 1
+ 6
+
+
+
+
+
+
+
+
+ 14
+ 24
+ 26
+ 32
+ 39
+ 3
+ 8
+
+
+
+
+
+
+
+
+ 1
+ 6
+ 13
+ 15
+ 16
+ 6
+ 10
+
+
+
+
+
+
+
+
+ 9
+ 23
+ 29
+ 41
+ 49
+ 8
+ 10
+
+
+
+
+
+
+
+
+ 5
+ 6
+ 16
+ 30
+ 46
+ 5
+ 10
+
+
+
+
+
+
+
+
+ 22
+ 25
+ 29
+ 33
+ 35
+ 3
+ 6
+
+
+
+
+
+
+
+
+ 1
+ 19
+ 31
+ 39
+ 48
+ 1
+ 6
+
+
+
+
+
+
+
+
+ 3
+ 19
+ 22
+ 31
+ 32
+ 2
+ 11
+
+
+
+
+
+
+
+
+ 7
+ 11
+ 19
+ 27
+ 37
+ 6
+ 10
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/test/data/latestResult.html b/test/data/latestResult.html
new file mode 100644
index 0000000..9e4d0ad
--- /dev/null
+++ b/test/data/latestResult.html
@@ -0,0 +1,1656 @@
+
+
+ EuroMillions Results | Latest Draw Results
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/test/scrape.js b/test/scrape.js
new file mode 100644
index 0000000..edf0fb7
--- /dev/null
+++ b/test/scrape.js
@@ -0,0 +1,44 @@
+const tape = require('tape');
+const _test = require('tape-promise').default; // <---- notice 'default'
+const test = _test(tape); // decorate tape
+
+const fs = require('fs');
+
+
+
+const { scrapeResults, scrapeArchive, scrapeSingle } = require('../libs/scraper');
+
+const { retrieveNew } = require('../libs/retriever');
+
+const failure = { 'fail':true };
+const empty = {};
+
+test.skip('Scrape page', async t => {
+ const page = fs.readFileSync('test/data/draw.html');
+ const expectedJSON = [ '2019-01-29', 14, 24, 26, 32, 39, 3, 8 ];
+
+ const output = scrapeResults(page);
+
+ t.deepEquals(output, expectedJSON, 'Extracted results');
+
+ t.end();
+});
+
+test.skip('Scrape Archive 2019', async t => {
+ const page = fs.readFileSync('test/data/2019.html');
+ const expectedJSON = failure;
+
+ const output = scrapeArchive(page);
+
+ console.log(JSON.stringify(output));
+ t.deepEquals(output, expectedJSON, 'Extracted results');
+
+ t.end();
+});
+
+test.test('Scrape Latest', async t => {
+ const m = retrieveNew();
+
+ console.log('xxx');
+ t.end();
+});