Updated with new scraper
This commit is contained in:
parent
4c24f3dfb7
commit
dfb104d30b
@ -1,13 +1,13 @@
|
|||||||
{
|
{
|
||||||
"parserOptions": {
|
"parserOptions": {
|
||||||
"ecmaVersion": 6,
|
"ecmaVersion": 2017,
|
||||||
"sourceType": "module",
|
"sourceType": "module",
|
||||||
"ecmaFeatures": {
|
"ecmaFeatures": {
|
||||||
"jsx": false
|
"jsx": false
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"env": {
|
"env": {
|
||||||
"browser": true,
|
"browser": false,
|
||||||
"node": true,
|
"node": true,
|
||||||
"es6": true
|
"es6": true
|
||||||
},
|
},
|
||||||
@ -27,7 +27,7 @@
|
|||||||
"func-names": 1,
|
"func-names": 1,
|
||||||
"indent": ["error", 2, { "SwitchCase": 1 }],
|
"indent": ["error", 2, { "SwitchCase": 1 }],
|
||||||
"lines-around-comment": ["error", { "beforeBlockComment": true, "allowArrayStart": true }],
|
"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,
|
"new-cap": 1,
|
||||||
"newline-before-return": "error",
|
"newline-before-return": "error",
|
||||||
"no-array-constructor": 1,
|
"no-array-constructor": 1,
|
||||||
@ -47,7 +47,9 @@
|
|||||||
"semi": [1, "always"],
|
"semi": [1, "always"],
|
||||||
"space-before-blocks": [1, "always"],
|
"space-before-blocks": [1, "always"],
|
||||||
"space-infix-ops": 1,
|
"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": ["/"] }]
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
13
app.js
13
app.js
@ -6,6 +6,8 @@ const log4js = require('log4js');
|
|||||||
const logger = log4js.getLogger();
|
const logger = log4js.getLogger();
|
||||||
const cron = require('node-cron');
|
const cron = require('node-cron');
|
||||||
|
|
||||||
|
const retriever = require('./libs/retriever');
|
||||||
|
|
||||||
logger.level = 'debug';
|
logger.level = 'debug';
|
||||||
|
|
||||||
function run(data) {
|
function run(data) {
|
||||||
@ -21,7 +23,7 @@ Other: ${v1.otherLine} stars: ${v1.otherStars}
|
|||||||
|
|
||||||
pusher.push(msg);
|
pusher.push(msg);
|
||||||
logger.debug(msg);
|
logger.debug(msg);
|
||||||
loader.save(data);
|
// loader.save(data);
|
||||||
}
|
}
|
||||||
|
|
||||||
function go() {
|
function go() {
|
||||||
@ -29,11 +31,16 @@ function go() {
|
|||||||
loader.load(run);
|
loader.load(run);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
cron.schedule('10 15 * * 2,5', () => {
|
||||||
cron.schedule('10 13 * * 2,5', () => {
|
|
||||||
go();
|
go();
|
||||||
|
|
||||||
return -1;
|
return -1;
|
||||||
});
|
});
|
||||||
|
|
||||||
|
cron.schedule('45 9 * * 3,6', () => {
|
||||||
|
retriever();
|
||||||
|
|
||||||
|
return -1;
|
||||||
|
});
|
||||||
|
|
||||||
logger.info('Lot V3 started...');
|
logger.info('Lot V3 started...');
|
||||||
|
File diff suppressed because one or more lines are too long
@ -17,14 +17,13 @@ function resultsQuery(callback) {
|
|||||||
'method': 'GET'
|
'method': 'GET'
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
https.request(options).on('response', function (response) {
|
https.request(options).on('response', function (response) {
|
||||||
let data = '';
|
let data = '';
|
||||||
response.on('data', function (chunk) {
|
response.on('data', function (chunk) {
|
||||||
data += chunk;
|
data += chunk;
|
||||||
});
|
});
|
||||||
response.on('end', function () {
|
response.on('end', function () {
|
||||||
//console.log(data);
|
// console.log(data);
|
||||||
callback(JSON.parse(data));
|
callback(JSON.parse(data));
|
||||||
});
|
});
|
||||||
}).end();
|
}).end();
|
||||||
@ -36,7 +35,7 @@ function processDataV2(data) {
|
|||||||
|
|
||||||
// console.log(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');
|
const newdate = Sugar.Date.format(new Date(parseInt(date[2])), '%Y-%m-%d');
|
||||||
|
|
||||||
newArray.push(newdate);
|
newArray.push(newdate);
|
||||||
@ -53,6 +52,10 @@ function processDataV2(data) {
|
|||||||
return newArray;
|
return newArray;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function loadV2(cb) {
|
||||||
|
const lotData = jsonfile.readFileSync(file);
|
||||||
|
cb(lotData);
|
||||||
|
}
|
||||||
|
|
||||||
function load(cb) {
|
function load(cb) {
|
||||||
jsonfile.readFile(file, (err, obj) => {
|
jsonfile.readFile(file, (err, obj) => {
|
||||||
@ -80,5 +83,5 @@ function save(data) {
|
|||||||
jsonfile.writeFileSync(file, data);
|
jsonfile.writeFileSync(file, data);
|
||||||
}
|
}
|
||||||
|
|
||||||
module.exports.load = load;
|
module.exports.load = loadV2;
|
||||||
module.exports.save = save;
|
module.exports.save = save;
|
||||||
|
36
libs/retriever.js
Normal file
36
libs/retriever.js
Normal file
@ -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 };
|
126
libs/scraper.js
Normal file
126
libs/scraper.js
Normal file
@ -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;
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
<div class="archives">
|
||||||
|
|
||||||
|
<a class="title" href="/results/28-12-2018" title="More detailed information about the EuroMillons draw that took place on December 28th 2018 "><span>Friday</span><br>28th December 2018</a>
|
||||||
|
|
||||||
|
<ul class="balls small">
|
||||||
|
|
||||||
|
<li class="new ball">13</li>
|
||||||
|
|
||||||
|
<li class="new ball">16</li>
|
||||||
|
|
||||||
|
<li class="new ball">34</li>
|
||||||
|
|
||||||
|
<li class="new ball">35</li>
|
||||||
|
|
||||||
|
<li class="new ball">45</li>
|
||||||
|
|
||||||
|
<li class="new lucky-star">10</li>
|
||||||
|
|
||||||
|
<li class="new lucky-star">12</li>
|
||||||
|
|
||||||
|
</ul>
|
||||||
|
|
||||||
|
<div class="raffle">
|
||||||
|
<div class="title">Millionaire Maker:</div>
|
||||||
|
<div class="box">2 Codes</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
*/
|
||||||
|
|
||||||
|
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 };
|
@ -12,15 +12,20 @@
|
|||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"jsonfile": "^2.2.3",
|
"jsonfile": "^2.2.3",
|
||||||
"node-cron": "^1.0.0",
|
"node-cron": "^1.0.0",
|
||||||
|
"tape": "^4.9.2",
|
||||||
|
"tape-promise": "^4.0.0",
|
||||||
"ultrases": "^0.1.3"
|
"ultrases": "^0.1.3"
|
||||||
},
|
},
|
||||||
"bin": {
|
"bin": {
|
||||||
"lot": "./lot.js"
|
"lot": "./lot.js"
|
||||||
},
|
},
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
|
"cheerio": "^1.0.0-rc.2",
|
||||||
"dateformat": "^2.0.0",
|
"dateformat": "^2.0.0",
|
||||||
|
"fecha": "^3.0.2",
|
||||||
"jsonfile": "^2.4.0",
|
"jsonfile": "^2.4.0",
|
||||||
"log4js": "^2.3.3",
|
"log4js": "^2.3.3",
|
||||||
|
"node-fetch": "^2.3.0",
|
||||||
"node-pushover": "^0.2.2",
|
"node-pushover": "^0.2.2",
|
||||||
"sugar": "^2.0.1",
|
"sugar": "^2.0.1",
|
||||||
"sugar-date": "^2.0.0"
|
"sugar-date": "^2.0.0"
|
||||||
|
3506
test/data/2017.html
Normal file
3506
test/data/2017.html
Normal file
File diff suppressed because it is too large
Load Diff
3506
test/data/2018.html
Normal file
3506
test/data/2018.html
Normal file
File diff suppressed because it is too large
Load Diff
716
test/data/2019.html
Normal file
716
test/data/2019.html
Normal file
@ -0,0 +1,716 @@
|
|||||||
|
<html lang="en"><head>
|
||||||
|
|
||||||
|
<title>EuroMillions Results Archive for 2019</title>
|
||||||
|
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
|
||||||
|
<meta name="description" content="Archive of EuroMillions Results for 2019 including full prize and winner breakdowns for each draw.">
|
||||||
|
<meta name="keywords" content="2019, archive, euromillions, euromillions results, lottery, results, europe, lotto">
|
||||||
|
<meta name="author" content="Euro-Millions.com">
|
||||||
|
<meta name="format-detection" content="telephone=no">
|
||||||
|
<meta name="HandheldFriendly" content="True">
|
||||||
|
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=5">
|
||||||
|
<meta name="apple-touch-fullscreen" content="yes">
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<meta property="og:title" content="EuroMillions Results Archive for 2019">
|
||||||
|
<meta property="og:description" content="Archive of EuroMillions Results for 2019 including full prize and winner breakdowns for each draw.">
|
||||||
|
<meta property="og:type" content="website">
|
||||||
|
<meta property="og:url" content="https://www.euro-millions.com/results-archive-2019">
|
||||||
|
<meta property="og:site_name" content="EuroMillions">
|
||||||
|
<meta property="og:image" content="https://www.euro-millions.com/images/facebook-shared-image.jpg">
|
||||||
|
<meta property="fb:app_id" content="124973790926555">
|
||||||
|
<meta property="fb:admins" content="100001278704026">
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
</head>
|
||||||
|
|
||||||
|
<body>
|
||||||
|
|
||||||
|
<div id="header-container">
|
||||||
|
|
||||||
|
|
||||||
|
<div class="top">
|
||||||
|
<div class="inner">
|
||||||
|
|
||||||
|
|
||||||
|
<div class="languages dropdown-box">
|
||||||
|
|
||||||
|
|
||||||
|
<ul>
|
||||||
|
<li class="title">English
|
||||||
|
<div class="dropdown">
|
||||||
|
<ul>
|
||||||
|
<li><a href="/results-archive-2019" title="View this page in English" class="en"><span>English</span></a></li>
|
||||||
|
<li><a href="/fr/archive-resultats-2019" title="Voir cette page en français" class="fr"><span>Français</span></a></li>
|
||||||
|
<li><a href="/de/2019-gewinnzahlen-archiv" title="Sehen Sie diese Seite in Deutsch" class="de"><span>Deutsch</span></a></li>
|
||||||
|
<li><a href="/pt/arquivo-de-resultados-2019" title="Leia esta página em Português" class="pt"><span>Português</span></a></li>
|
||||||
|
<li><a href="/es/archivo-resultados-2019" title="Ver esta página en español" class="es"><span>Español</span></a></li>
|
||||||
|
<li><a href="/it/archivio-risultati-2019" title="Visualizza cuesta pagina in italiano" class="it"><span>Italiano</span></a></li>
|
||||||
|
<li><a href="/sv/2019-resultat-arkiv" title="Se webbplatsen på svenska" class="sv"><span>Svenska</span></a></li>
|
||||||
|
<li><a href="/nl/uitslagen-archief-2019" title="Bekijk deze pagina in het Nederlands" class="nl"><span>Nederlands</span></a></li>
|
||||||
|
<li><a href="/ru/arhiv-rezultatov-2019" title="Посмотреть страницу на русском языке" class="ru"><span>По-русски</span></a></li>
|
||||||
|
<li><a href="/pl/wyniki-2019-archiwum" title="Wyświetl tę stronę w języku polskim" class="pl"><span>Polska</span></a></li>
|
||||||
|
<li><a href="/zh/2019-kaijiang-jieguo-dangan" title="中文" class="zh"><span>中文</span></a></li>
|
||||||
|
<li><a href="/th/results-archive-2019" title="ภาษาไทย" class="th"><span>ภาษาไทย</span></a></li>
|
||||||
|
<li><a href="/ar/nata2eg-2019" title="اللغة العربية" class="ar"><span>اللغة العربية</span></a></li>
|
||||||
|
|
||||||
|
</ul>
|
||||||
|
</div>
|
||||||
|
</li>
|
||||||
|
</ul>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
<a href="/sign-in" title="Log in to Euro-Millions.com" class="login">Sign In</a>
|
||||||
|
|
||||||
|
<a href="https://games.euro-millions.com/" title="EuroMillions Casino" class="link-casino" target="_blank" rel="noopener">Instant Win Games</a>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
<header>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<nav>
|
||||||
|
<div id="logo"><a href="/" title="EuroMillions"><img alt="EuroMillions"></a></div>
|
||||||
|
<ul>
|
||||||
|
<li><a href="/results" title="EuroMillions Results">Results</a></li>
|
||||||
|
<li><a href="/results-checker" title="EuroMillions Results Checker">Checker</a></li>
|
||||||
|
<li><a href="/news" title="EuroMillions News">News</a></li>
|
||||||
|
<li><a href="/information" title="EuroMillions Information">Information</a></li>
|
||||||
|
<li><a href="/statistics" title="EuroMillions Statistics">Statistics</a></li>
|
||||||
|
<li><a href="/prizes" title="EuroMillions Prizes">Prizes</a></li>
|
||||||
|
<li><a href="/random-number-generator" title="Generate EuroMillions Numbers"> Number Generator</a></li>
|
||||||
|
<li class="play"><span class="star"></span><a href="/play" title="Join" onclick="if(window.ga) ga('send', 'event', 'HeaderPlayButton', 'click', 'Entries')">Entries</a></li>
|
||||||
|
</ul>
|
||||||
|
</nav>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
</header>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="container">
|
||||||
|
|
||||||
|
|
||||||
|
<a href="/en/play/euromillions" title="Subscribe to a EuroMillions syndicate now" style="background: #e2473e; padding: 10px; text-align: center; color: #FFF; font-size: 1.1em; margin-bottom: 10px; display: block; text-decoration: none;" target="_blank" rel="nofollow noopener">
|
||||||
|
Tonight's EuroMillions jackpot is estimated at a staggering £123 Million! <span style="color: #FD0; text-decoration: underline;">Subscribe Now</span>
|
||||||
|
</a>
|
||||||
|
|
||||||
|
<div id="menu-container">
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<div id="menu">
|
||||||
|
|
||||||
|
<div class="top">Menu</div>
|
||||||
|
|
||||||
|
<ul>
|
||||||
|
<li class="home"><a href="/" title="EuroMillions Homepage">EuroMillions</a></li>
|
||||||
|
<li class="results sub"><a href="/results" title="EuroMillions Results">Results</a>
|
||||||
|
<ul class="subMenu" onmouseover="hover(this,'on')" onmouseout="hover(this,'off')">
|
||||||
|
<li><a href="/results" title="Latest EuroMillions Results">Latest Results</a></li>
|
||||||
|
|
||||||
|
<li><a href="/results/05-02-2019" title="Latest EuroMillions Prize Breakdown">Latest Prize Breakdown</a></li>
|
||||||
|
|
||||||
|
<li><a href="/uk-millionaire-maker" title="EuroMillions UK Millionaire Maker">UK Millionaire Maker</a></li>
|
||||||
|
|
||||||
|
<li><a href="/results-checker" title="EuroMillions Results Checker">Results Checker</a></li>
|
||||||
|
</ul>
|
||||||
|
</li>
|
||||||
|
<li class="help sub"><a href="/information" title="EuroMillions Help & Information">Help</a>
|
||||||
|
<ul class="subMenu" onmouseover="hover(this,'on')" onmouseout="hover(this,'off')">
|
||||||
|
<li><a href="/playing-euromillions" title="Playing EuroMillions">Playing EuroMillions</a></li>
|
||||||
|
<li><a href="/how-to-play" title="How to Play EuroMillions">How to Play</a></li>
|
||||||
|
<li><a href="/rules" title="EuroMillions Rules">Rules</a></li>
|
||||||
|
<li><a href="/odds-of-winning" title="EuroMillions Odds">Odds</a></li>
|
||||||
|
<li><a href="/faqs" title="EuroMillions Frequently Asked Questions">FAQs</a></li>
|
||||||
|
<li><a href="/special-draws" title="Special EuroMillions Draws">Special Draws</a></li>
|
||||||
|
<li><a href="/superdraws" title="EuroMillions Superdraws">Superdraws</a></li>
|
||||||
|
<li><a href="/good-causes" title="Good Causes">Good Causes</a></li>
|
||||||
|
<li><a href="/scams" title="EuroMillions Lottery Scams">Scams</a></li>
|
||||||
|
<li><a href="/contact" title="Contact EuroMillions">Contact Us</a></li>
|
||||||
|
</ul>
|
||||||
|
</li>
|
||||||
|
<li class="statistics sub"><a href="/statistics" title="EuroMillions Statistics">Statistics</a>
|
||||||
|
<ul class="subMenu" onmouseover="hover(this,'on')" onmouseout="hover(this,'off')">
|
||||||
|
<li><a href="/statistics" title="Latest EuroMillions Statistics">Latest Statistics</a></li>
|
||||||
|
<li><a href="/how-to-choose-numbers" title="Help with choosing your EuroMillions numbers">Choosing Your Numbers</a></li>
|
||||||
|
<li><a href="/biggest-ever-jackpot" title="The biggest ever EuroMillions jackpot">Biggest Ever Jackpot</a></li>
|
||||||
|
</ul>
|
||||||
|
</li>
|
||||||
|
<li class="prizes sub"><a href="/prizes" title="EuroMillions Prize Breakdown">Prizes</a>
|
||||||
|
<ul class="subMenu" onmouseover="hover(this,'on')" onmouseout="hover(this,'off')">
|
||||||
|
<li><a href="/how-to-claim" title="How to Claim a EuroMillions Prize">How to Claim</a></li>
|
||||||
|
<li><a href="/winners" title="Read about the biggest EuroMillions winners">Biggest Winners</a></li>
|
||||||
|
<li><a href="/winners/statistics" title="EuroMillions Winner Statistics">Prize Winner Statistics</a></li>
|
||||||
|
<li><a href="/unclaimed-prizes" title="Unclaimed EuroMillions Prizes">Unclaimed Prizes</a></li>
|
||||||
|
</ul>
|
||||||
|
</li>
|
||||||
|
|
||||||
|
<li class="news"><a href="/hotpicks" title="NEW: EuroMillions HotPicks">EuroMillions HotPicks</a></li>
|
||||||
|
|
||||||
|
</ul>
|
||||||
|
|
||||||
|
<div class="search">
|
||||||
|
<form action="/search-results.asp" id="cse-search-box-left" onsubmit="return ValidateForm()">
|
||||||
|
<input type="text" name="q" size="14" value="Search Site..." onblur="if(this.value.length == 0) this.value='Search Site...';" onclick="this.value=''; this.style.color='#333';" id="search-box" class="searchText">
|
||||||
|
<input type="submit" name="sa" value="Search" id="go-button" class="searchSubmit">
|
||||||
|
</form>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<div class="casino">
|
||||||
|
|
||||||
|
<div class="top">Instant Win Games</div>
|
||||||
|
|
||||||
|
<div class="desktop">
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<img alt="Play Diamond Mine at EuroMillions Casino">
|
||||||
|
<img alt="Play Diamond Mine at EuroMillions Casino" class="gameLogo active">
|
||||||
|
<a href="/en/play/emc-play" title="EuroMillions Casino" target="_blank" rel="noopener nofollow" class="button" onclick="if(window.ga) ga('send', 'event', 'casinoSideBanner', 'click', 'Diamond Mine')">Play Diamond Mine</a>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<div class="european">
|
||||||
|
|
||||||
|
<div class="top">Lotteries</div>
|
||||||
|
|
||||||
|
<ul>
|
||||||
|
<li><a href="/eurojackpot" title="Play EuroJackpot">EuroJackpot</a></li>
|
||||||
|
<li class="sub"><a href="/european-lotteries" title="Other European Lotteries">European Lotteries</a>
|
||||||
|
<ul class="subMenu" onmouseover="hover(this,'on')" onmouseout="hover(this,'off')">
|
||||||
|
<li><a href="/viking-lotto" title="Viking Lotto">Vikinglotto</a></li>
|
||||||
|
<li><a href="/french-loto" title="French Loto">French Loto</a></li>
|
||||||
|
<li><a href="/german-lotto" title="German Lotto">German Lotto</a></li>
|
||||||
|
<li><a href="/irish-lotto" title="Irish Lottery">Irish Lotto</a></li>
|
||||||
|
<li><a href="/italian-superenalotto" title="Italian SuperEnalotto">Italian SuperEnalotto</a></li>
|
||||||
|
<li><a href="/spanish-el-gordo-de-navidad" title="Spanish El Gordo de Navidad" style="letter-spacing: -1px;">Spanish El Gordo de Navidad</a></li>
|
||||||
|
<li><a href="/spanish-el-nino" title="Spanish El Niño">Spanish El Niño</a></li>
|
||||||
|
<li><a href="/spanish-la-primitiva" title="Spanish La Primitiva">Spanish La Primitiva</a></li>
|
||||||
|
<li><a href="/uk-lotto" title="UK National Lottery">UK Lotto</a></li>
|
||||||
|
<li><a href="/weihnachtslotterie" title="Deutsche Weihnachtslotterie">Weihnachtslotterie</a></li>
|
||||||
|
</ul>
|
||||||
|
</li>
|
||||||
|
<li class="sub free-lottery"><a href="/free-lottery" title="Free Lottery">Free Lottery</a>
|
||||||
|
<ul class="subMenu" onmouseover="hover(this,'on')" onmouseout="hover(this,'off')">
|
||||||
|
<li><a href="/free-lottery/results" title="View the Free Lottery results">Latest Results</a></li>
|
||||||
|
<li><a href="/free-lottery/play" title="Play the Free Lottery">Play Free Lottery</a></li>
|
||||||
|
<li><a href="/free-lottery/how-to-play" title="Find out how to play the Free Lottery">How to Play</a></li>
|
||||||
|
<li><a href="/free-lottery/daily-statistics" title="Free Lottery Statistics: Daily Draw">Statistics: Daily Draw</a></li>
|
||||||
|
<li><a href="/free-lottery/weekly-statistics" title="Free Lottery Statistics: Weekly Draw">Statistics: Weekly Draw</a></li>
|
||||||
|
</ul>
|
||||||
|
</li>
|
||||||
|
|
||||||
|
</ul>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<div class="iphone-side">
|
||||||
|
<a class="button" href="/app" title="Free iPhone and Android Apps">Get App</a>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<div id="content">
|
||||||
|
|
||||||
|
<h1>EuroMillions Results Archive 2019</h1>
|
||||||
|
|
||||||
|
<ol id="breadcrumb" itemscope="" itemtype="http://schema.org/BreadcrumbList">
|
||||||
|
<li itemprop="itemListElement" itemscope="" itemtype="http://schema.org/ListItem"><a href="/" title="EuroMillions" itemprop="item"><span itemprop="name">Home</span></a><meta itemprop="position" content="1"></li>
|
||||||
|
<li itemprop="itemListElement" itemscope="" itemtype="http://schema.org/ListItem"><a href="/results" title="EuroMillions Results" itemprop="item"><span itemprop="name">Results</span></a><meta itemprop="position" content="2"></li>
|
||||||
|
<li>2019 Archive</li>
|
||||||
|
</ol>
|
||||||
|
|
||||||
|
<p>This page lists all EuroMillions results drawn in 2019. Select a result to view draw information.</p>
|
||||||
|
|
||||||
|
<style type="text/css">
|
||||||
|
#bannerBox{background: #287bd0;background: -moz-linear-gradient(top, #287bd0 0%, #2161a2 100%);background: -webkit-linear-gradient(top, #287bd0 0%, #2161a2 100%);background: linear-gradient(top, #287bd0 0%, #2161a2 100%);position: relative; width: 100%; display: inline-block; border-radius: 10px; margin: 10px auto 20px; border: 3px solid #215fa0;-webkit-box-sizing: border-box; box-sizing: border-box;}
|
||||||
|
td #bannerBox{margin: auto;}
|
||||||
|
#bannerBox *{vertical-align: top;}
|
||||||
|
.bannerInner{background-size: cover; width: 100%; webkit-box-sizing: border-box; box-sizing: border-box; padding: 20px 20px 10px;}
|
||||||
|
.bannerText{color: #FC0; font: bold 20px/20px 'Myriad Web Pro', 'Myriad Pro', arial, sans-serif;}
|
||||||
|
.jackpotText {color: #FFF; font: bold 60px/60px 'Myriad Web Pro', 'Myriad Pro', arial, sans-serif; letter-spacing: -3px; padding: 5px 0;}
|
||||||
|
.jackpotCountdown {color: #FC0; font: bold 14px/20px 'Myriad Web Pro', 'Myriad Pro', arial, sans-serif;}
|
||||||
|
.jackpotCountdown span {color: #FFF; font-size: 18px;}
|
||||||
|
.bannerButton {
|
||||||
|
background: #FF453C; color: #FFF; text-align: center; display: inline-block; padding: 12px 40px; font: bold 18px/20px 'Myriad Web Pro', 'Myriad Pro', arial, sans-serif; border-radius: 6px; text-decoration: none; margin: 10px;
|
||||||
|
-webkit-transition: .2s all ease-in-out; transition: .2s all ease-in-out; min-width:100px;
|
||||||
|
}
|
||||||
|
.bannerButton:hover {background: #FFF; color: #04376e;}
|
||||||
|
|
||||||
|
|
||||||
|
</style>
|
||||||
|
|
||||||
|
<div id="bannerBox">
|
||||||
|
<div class="bannerInner">
|
||||||
|
<div style="display: inline-block;">
|
||||||
|
<div class="bannerText">
|
||||||
|
|
||||||
|
Tonight's Estimated Jackpot is:
|
||||||
|
|
||||||
|
</div>
|
||||||
|
<div class="jackpotText">
|
||||||
|
£123 Million!
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div style="display: inline-block; text-align: center; float: right; padding-right: 10px;">
|
||||||
|
<div class="jackpotCountdown">
|
||||||
|
Time remaining:
|
||||||
|
<span id="jackpotCountdown">0 Days 08:04:54</span>
|
||||||
|
</div>
|
||||||
|
<a href="/en/play/euromillions" rel="nofollow noopener" target="_blank" class="bannerButton" onclick="if(window.ga) ga('send','event','EuroMillions - Join Syndicate','click','/results-archive-2019 - Desktop')">Join Syndicate</a>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<noscript>0 Days 8:5:0</noscript>
|
||||||
|
<div class="archives-links">
|
||||||
|
<ul class="year">
|
||||||
|
<li><a href="/results-archive-2019" title="View the 2019 EuroMillions Results Archive" class="active">2019</a></li><li><a href="/results-archive-2018" title="View the 2018 EuroMillions Results Archive">2018</a></li><li><a href="/results-archive-2017" title="View the 2017 EuroMillions Results Archive">2017</a></li><li><a href="/results-archive-2016" title="View the 2016 EuroMillions Results Archive">2016</a></li><li><a href="/results-archive-2015" title="View the 2015 EuroMillions Results Archive">2015</a></li><li><a href="/results-archive-2014" title="View the 2014 EuroMillions Results Archive">2014</a></li><li><a href="/results-archive-2013" title="View the 2013 EuroMillions Results Archive">2013</a></li><li><a href="/results-archive-2012" title="View the 2012 EuroMillions Results Archive">2012</a></li><li><a href="/results-archive-2011" title="View the 2011 EuroMillions Results Archive">2011</a></li><li><a href="/results-archive-2010" title="View the 2010 EuroMillions Results Archive">2010</a></li><li><a href="/results-archive-2009" title="View the 2009 EuroMillions Results Archive">2009</a></li><li><a href="/results-archive-2008" title="View the 2008 EuroMillions Results Archive">2008</a></li><li><a href="/results-archive-2007" title="View the 2007 EuroMillions Results Archive">2007</a></li><li><a href="/results-archive-2006" title="View the 2006 EuroMillions Results Archive">2006</a></li><li><a href="/results-archive-2005" title="View the 2005 EuroMillions Results Archive">2005</a></li><li><a href="/results-archive-2004" title="View the 2004 EuroMillions Results Archive">2004</a></li>
|
||||||
|
</ul>
|
||||||
|
|
||||||
|
<ul class="latest">
|
||||||
|
<li><a class="button" href="/results" title="Latest EuroMillions Results">View Latest Results</a></li>
|
||||||
|
</ul>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="archives">
|
||||||
|
|
||||||
|
<a class="title" href="/results/05-02-2019" title="More detailed information about the EuroMillons draw that took place on February 5th 2019 "><span>Tuesday</span><br>5th February 2019</a>
|
||||||
|
|
||||||
|
|
||||||
|
<ul class="balls small">
|
||||||
|
|
||||||
|
<li class="new ball">14</li>
|
||||||
|
|
||||||
|
<li class="new ball">25</li>
|
||||||
|
|
||||||
|
<li class="new ball">31</li>
|
||||||
|
|
||||||
|
<li class="new ball">37</li>
|
||||||
|
|
||||||
|
<li class="new ball">43</li>
|
||||||
|
|
||||||
|
<li class="new lucky-star">2</li>
|
||||||
|
|
||||||
|
<li class="new lucky-star">3</li>
|
||||||
|
|
||||||
|
</ul>
|
||||||
|
|
||||||
|
<div class="raffle">
|
||||||
|
<div class="title">Millionaire Maker:</div>
|
||||||
|
<div class="box">1 Code</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="archives">
|
||||||
|
|
||||||
|
<a class="title" href="/results/01-02-2019" title="More detailed information about the EuroMillons draw that took place on February 1st 2019 "><span>Friday</span><br>1st February 2019</a>
|
||||||
|
|
||||||
|
|
||||||
|
<ul class="balls small">
|
||||||
|
|
||||||
|
<li class="new ball">3</li>
|
||||||
|
|
||||||
|
<li class="new ball">21</li>
|
||||||
|
|
||||||
|
<li class="new ball">26</li>
|
||||||
|
|
||||||
|
<li class="new ball">41</li>
|
||||||
|
|
||||||
|
<li class="new ball">46</li>
|
||||||
|
|
||||||
|
<li class="new lucky-star">1</li>
|
||||||
|
|
||||||
|
<li class="new lucky-star">6</li>
|
||||||
|
|
||||||
|
</ul>
|
||||||
|
|
||||||
|
<div class="raffle">
|
||||||
|
<div class="title">Millionaire Maker:</div>
|
||||||
|
<div class="box">1 Code</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="archives">
|
||||||
|
|
||||||
|
<a class="title" href="/results/29-01-2019" title="More detailed information about the EuroMillons draw that took place on January 29th 2019 "><span>Tuesday</span><br>29th January 2019</a>
|
||||||
|
|
||||||
|
|
||||||
|
<ul class="balls small">
|
||||||
|
|
||||||
|
<li class="new ball">14</li>
|
||||||
|
|
||||||
|
<li class="new ball">24</li>
|
||||||
|
|
||||||
|
<li class="new ball">26</li>
|
||||||
|
|
||||||
|
<li class="new ball">32</li>
|
||||||
|
|
||||||
|
<li class="new ball">39</li>
|
||||||
|
|
||||||
|
<li class="new lucky-star">3</li>
|
||||||
|
|
||||||
|
<li class="new lucky-star">8</li>
|
||||||
|
|
||||||
|
</ul>
|
||||||
|
|
||||||
|
<div class="raffle">
|
||||||
|
<div class="title">Millionaire Maker:</div>
|
||||||
|
<div class="box">1 Code</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="archives">
|
||||||
|
|
||||||
|
<a class="title" href="/results/25-01-2019" title="More detailed information about the EuroMillons draw that took place on January 25th 2019 "><span>Friday</span><br>25th January 2019</a>
|
||||||
|
|
||||||
|
|
||||||
|
<ul class="balls small">
|
||||||
|
|
||||||
|
<li class="new ball">1</li>
|
||||||
|
|
||||||
|
<li class="new ball">6</li>
|
||||||
|
|
||||||
|
<li class="new ball">13</li>
|
||||||
|
|
||||||
|
<li class="new ball">15</li>
|
||||||
|
|
||||||
|
<li class="new ball">16</li>
|
||||||
|
|
||||||
|
<li class="new lucky-star">6</li>
|
||||||
|
|
||||||
|
<li class="new lucky-star">10</li>
|
||||||
|
|
||||||
|
</ul>
|
||||||
|
|
||||||
|
<div class="raffle">
|
||||||
|
<div class="title">Millionaire Maker:</div>
|
||||||
|
<div class="box">1 Code</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="archives">
|
||||||
|
|
||||||
|
<a class="title" href="/results/22-01-2019" title="More detailed information about the EuroMillons draw that took place on January 22nd 2019 "><span>Tuesday</span><br>22nd January 2019</a>
|
||||||
|
|
||||||
|
|
||||||
|
<ul class="balls small">
|
||||||
|
|
||||||
|
<li class="new ball">9</li>
|
||||||
|
|
||||||
|
<li class="new ball">23</li>
|
||||||
|
|
||||||
|
<li class="new ball">29</li>
|
||||||
|
|
||||||
|
<li class="new ball">41</li>
|
||||||
|
|
||||||
|
<li class="new ball">49</li>
|
||||||
|
|
||||||
|
<li class="new lucky-star">8</li>
|
||||||
|
|
||||||
|
<li class="new lucky-star">10</li>
|
||||||
|
|
||||||
|
</ul>
|
||||||
|
|
||||||
|
<div class="raffle">
|
||||||
|
<div class="title">Millionaire Maker:</div>
|
||||||
|
<div class="box">1 Code</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="archives">
|
||||||
|
|
||||||
|
<a class="title" href="/results/18-01-2019" title="More detailed information about the EuroMillons draw that took place on January 18th 2019 "><span>Friday</span><br>18th January 2019</a>
|
||||||
|
|
||||||
|
|
||||||
|
<ul class="balls small">
|
||||||
|
|
||||||
|
<li class="new ball">5</li>
|
||||||
|
|
||||||
|
<li class="new ball">6</li>
|
||||||
|
|
||||||
|
<li class="new ball">16</li>
|
||||||
|
|
||||||
|
<li class="new ball">30</li>
|
||||||
|
|
||||||
|
<li class="new ball">46</li>
|
||||||
|
|
||||||
|
<li class="new lucky-star">5</li>
|
||||||
|
|
||||||
|
<li class="new lucky-star">10</li>
|
||||||
|
|
||||||
|
</ul>
|
||||||
|
|
||||||
|
<div class="raffle">
|
||||||
|
<div class="title">Millionaire Maker:</div>
|
||||||
|
<div class="box">1 Code</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="archives">
|
||||||
|
|
||||||
|
<a class="title" href="/results/15-01-2019" title="More detailed information about the EuroMillons draw that took place on January 15th 2019 "><span>Tuesday</span><br>15th January 2019</a>
|
||||||
|
|
||||||
|
|
||||||
|
<ul class="balls small">
|
||||||
|
|
||||||
|
<li class="new ball">22</li>
|
||||||
|
|
||||||
|
<li class="new ball">25</li>
|
||||||
|
|
||||||
|
<li class="new ball">29</li>
|
||||||
|
|
||||||
|
<li class="new ball">33</li>
|
||||||
|
|
||||||
|
<li class="new ball">35</li>
|
||||||
|
|
||||||
|
<li class="new lucky-star">3</li>
|
||||||
|
|
||||||
|
<li class="new lucky-star">6</li>
|
||||||
|
|
||||||
|
</ul>
|
||||||
|
|
||||||
|
<div class="raffle">
|
||||||
|
<div class="title">Millionaire Maker:</div>
|
||||||
|
<div class="box">1 Code</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="archives">
|
||||||
|
|
||||||
|
<a class="title" href="/results/11-01-2019" title="More detailed information about the EuroMillons draw that took place on January 11th 2019 "><span>Friday</span><br>11th January 2019</a>
|
||||||
|
|
||||||
|
|
||||||
|
<ul class="balls small">
|
||||||
|
|
||||||
|
<li class="new ball">1</li>
|
||||||
|
|
||||||
|
<li class="new ball">19</li>
|
||||||
|
|
||||||
|
<li class="new ball">31</li>
|
||||||
|
|
||||||
|
<li class="new ball">39</li>
|
||||||
|
|
||||||
|
<li class="new ball">48</li>
|
||||||
|
|
||||||
|
<li class="new lucky-star">1</li>
|
||||||
|
|
||||||
|
<li class="new lucky-star">6</li>
|
||||||
|
|
||||||
|
</ul>
|
||||||
|
|
||||||
|
<div class="raffle">
|
||||||
|
<div class="title">Millionaire Maker:</div>
|
||||||
|
<div class="box">2 Codes</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="archives">
|
||||||
|
|
||||||
|
<a class="title" href="/results/08-01-2019" title="More detailed information about the EuroMillons draw that took place on January 8th 2019 "><span>Tuesday</span><br>8th January 2019</a>
|
||||||
|
|
||||||
|
|
||||||
|
<ul class="balls small">
|
||||||
|
|
||||||
|
<li class="new ball">3</li>
|
||||||
|
|
||||||
|
<li class="new ball">19</li>
|
||||||
|
|
||||||
|
<li class="new ball">22</li>
|
||||||
|
|
||||||
|
<li class="new ball">31</li>
|
||||||
|
|
||||||
|
<li class="new ball">32</li>
|
||||||
|
|
||||||
|
<li class="new lucky-star">2</li>
|
||||||
|
|
||||||
|
<li class="new lucky-star">11</li>
|
||||||
|
|
||||||
|
</ul>
|
||||||
|
|
||||||
|
<div class="raffle">
|
||||||
|
<div class="title">Millionaire Maker:</div>
|
||||||
|
<div class="box">2 Codes</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="archives">
|
||||||
|
|
||||||
|
<a class="title" href="/results/04-01-2019" title="More detailed information about the EuroMillons draw that took place on January 4th 2019 "><span>Friday</span><br>4th January 2019</a>
|
||||||
|
|
||||||
|
|
||||||
|
<ul class="balls small">
|
||||||
|
|
||||||
|
<li class="new ball">7</li>
|
||||||
|
|
||||||
|
<li class="new ball">11</li>
|
||||||
|
|
||||||
|
<li class="new ball">19</li>
|
||||||
|
|
||||||
|
<li class="new ball">27</li>
|
||||||
|
|
||||||
|
<li class="new ball">37</li>
|
||||||
|
|
||||||
|
<li class="new lucky-star">6</li>
|
||||||
|
|
||||||
|
<li class="new lucky-star">10</li>
|
||||||
|
|
||||||
|
</ul>
|
||||||
|
|
||||||
|
<div class="raffle">
|
||||||
|
<div class="title">Millionaire Maker:</div>
|
||||||
|
<div class="box">2 Codes</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="archives">
|
||||||
|
|
||||||
|
<a class="title" href="/results/01-01-2019" title="More detailed information about the EuroMillons draw that took place on January 1st 2019 "><span>Tuesday</span><br>1st January 2019</a>
|
||||||
|
|
||||||
|
|
||||||
|
<ul class="balls small">
|
||||||
|
|
||||||
|
<li class="new ball">1</li>
|
||||||
|
|
||||||
|
<li class="new ball">8</li>
|
||||||
|
|
||||||
|
<li class="new ball">11</li>
|
||||||
|
|
||||||
|
<li class="new ball">25</li>
|
||||||
|
|
||||||
|
<li class="new ball">28</li>
|
||||||
|
|
||||||
|
<li class="new lucky-star">4</li>
|
||||||
|
|
||||||
|
<li class="new lucky-star">6</li>
|
||||||
|
|
||||||
|
</ul>
|
||||||
|
|
||||||
|
<div class="raffle">
|
||||||
|
<div class="title">Millionaire Maker:</div>
|
||||||
|
<div class="box">10 Codes</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
</div>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<footer>
|
||||||
|
|
||||||
|
<div id="footer">
|
||||||
|
|
||||||
|
<div class="top">
|
||||||
|
<div class="logoBox">
|
||||||
|
<div class="logo"><img alt="EuroMillions"></div>
|
||||||
|
<p class="copyright-info">Material Copyright © 2019</p>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="social">
|
||||||
|
<span>Follow us to stay up to date</span>
|
||||||
|
<ul>
|
||||||
|
<li class="twitter"><a href="https://twitter.com/uk_euromillions" title="EuroMillions Twitter" target="_blank" rel="noopener" id="footerTwitter"></a></li>
|
||||||
|
<li class="instagram"><a href="https://www.instagram.com/euromillions/" title="EuroMillions Instagram" target="_blank" rel="noopener" id="footerInstagram"></a></li>
|
||||||
|
<li class="facebook"><a href="https://www.facebook.com/GB.EuroMillions/" title="EuroMillions Facebook" target="_blank" rel="noopener" id="footerFacebook"></a></li>
|
||||||
|
</ul>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="lower">
|
||||||
|
<p class="centre" style="font-size: 12px;">
|
||||||
|
<a href="/privacy-policy" title="Privacy Policy">Privacy Policy</a> •
|
||||||
|
<a href="/cookie-policy" title="Cookie Policy">Cookie Policy</a> •
|
||||||
|
<a href="/sitemap" title="Sitemap">Sitemap</a> •
|
||||||
|
<a href="/contact" title="Contact Us">Contact Us</a> •
|
||||||
|
<a href="/terms-and-conditions" title="Terms and Conditions">Terms and Conditions</a>
|
||||||
|
</p>
|
||||||
|
<div class="centre logos-sm">
|
||||||
|
<a href="https://www.begambleaware.org/" title="Gambleaware" target="_blank" rel="noopener"><img alt="Gambleaware Logo"></a>
|
||||||
|
<p>Players must be 18 or over to participate in online lotteries.</p>
|
||||||
|
</div>
|
||||||
|
<p class="centre"><a href="/disclaimer" title="disclaimer">Disclaimer</a>: The content and operations of this website have not been approved or endorsed by Camelot UK Lotteries Limited, the National Lottery Commission or SLE.</p>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
</div>
|
||||||
|
|
||||||
|
</footer>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
</body></html>
|
1260
test/data/draw.html
Normal file
1260
test/data/draw.html
Normal file
File diff suppressed because one or more lines are too long
433
test/data/euromillions.co.html
Normal file
433
test/data/euromillions.co.html
Normal file
@ -0,0 +1,433 @@
|
|||||||
|
<html><head>
|
||||||
|
|
||||||
|
<meta charset="utf-8">
|
||||||
|
<title>Latest EuroMillions Result and Prizes</title>
|
||||||
|
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||||
|
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
|
||||||
|
|
||||||
|
<!-- This site is optimized with the Yoast SEO plugin v5.4.2 - https://yoast.com/wordpress/plugins/seo/ -->
|
||||||
|
<meta name="description" content="Check the latest EuroMillions results to see if you’re a winner and search through results from every EuroMillions lottery ever drawn for results and detailed prize information.">
|
||||||
|
|
||||||
|
<meta property="og:locale" content="en_US">
|
||||||
|
<meta property="og:type" content="article">
|
||||||
|
<meta property="og:title" content="Latest EuroMillions Result and Prizes">
|
||||||
|
<meta property="og:description" content="Check the latest EuroMillions results to see if you’re a winner and search through results from every EuroMillions lottery ever drawn for results and detailed prize information.">
|
||||||
|
<meta property="og:url" content="http://www.euromillions.co/results">
|
||||||
|
<meta property="og:site_name" content="EuroMillions.co">
|
||||||
|
|
||||||
|
<!-- / Yoast SEO plugin. -->
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<meta name="generator" content="WordPress 4.8.2">
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<style type="text/css">.fb_hidden{position:absolute;top:-10000px;z-index:10001}.fb_reposition{overflow:hidden;position:relative}.fb_invisible{display:none}.fb_reset{background:none;border:0;border-spacing:0;color:#000;cursor:auto;direction:ltr;font-family:"lucida grande", tahoma, verdana, arial, sans-serif;font-size:11px;font-style:normal;font-variant:normal;font-weight:normal;letter-spacing:normal;line-height:1;margin:0;overflow:visible;padding:0;text-align:left;text-decoration:none;text-indent:0;text-shadow:none;text-transform:none;visibility:visible;white-space:normal;word-spacing:normal}.fb_reset>div{overflow:hidden}@keyframes fb_transform{from{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.fb_animate{animation:fb_transform .3s forwards}
|
||||||
|
.fb_dialog{background:rgba(82, 82, 82, .7);position:absolute;top:-10000px;z-index:10001}.fb_dialog_advanced{border-radius:8px;padding:10px}.fb_dialog_content{background:#fff;color:#373737}.fb_dialog_close_icon{background:url(https://static.xx.fbcdn.net/rsrc.php/v3/yq/r/IE9JII6Z1Ys.png) no-repeat scroll 0 0 transparent;cursor:pointer;display:block;height:15px;position:absolute;right:18px;top:17px;width:15px}.fb_dialog_mobile .fb_dialog_close_icon{left:5px;right:auto;top:5px}.fb_dialog_padding{background-color:transparent;position:absolute;width:1px;z-index:-1}.fb_dialog_close_icon:hover{background:url(https://static.xx.fbcdn.net/rsrc.php/v3/yq/r/IE9JII6Z1Ys.png) no-repeat scroll 0 -15px transparent}.fb_dialog_close_icon:active{background:url(https://static.xx.fbcdn.net/rsrc.php/v3/yq/r/IE9JII6Z1Ys.png) no-repeat scroll 0 -30px transparent}.fb_dialog_iframe{line-height:0}.fb_dialog_content .dialog_title{background:#6d84b4;border:1px solid #365899;color:#fff;font-size:14px;font-weight:bold;margin:0}.fb_dialog_content .dialog_title>span{background:url(https://static.xx.fbcdn.net/rsrc.php/v3/yd/r/Cou7n-nqK52.gif) no-repeat 5px 50%;float:left;padding:5px 0 7px 26px}body.fb_hidden{height:100%;left:0;margin:0;overflow:visible;position:absolute;top:-10000px;transform:none;width:100%}.fb_dialog.fb_dialog_mobile.loading{background:url(https://static.xx.fbcdn.net/rsrc.php/v3/ya/r/3rhSv5V8j3o.gif) white no-repeat 50% 50%;min-height:100%;min-width:100%;overflow:hidden;position:absolute;top:0;z-index:10001}.fb_dialog.fb_dialog_mobile.loading.centered{background:none;height:auto;min-height:initial;min-width:initial;width:auto}.fb_dialog.fb_dialog_mobile.loading.centered #fb_dialog_loader_spinner{width:100%}.fb_dialog.fb_dialog_mobile.loading.centered .fb_dialog_content{background:none}.loading.centered #fb_dialog_loader_close{clear:both;color:#fff;display:block;font-size:18px;padding-top:20px}#fb-root #fb_dialog_ipad_overlay{background:rgba(0, 0, 0, .4);bottom:0;left:0;min-height:100%;position:absolute;right:0;top:0;width:100%;z-index:10000}#fb-root #fb_dialog_ipad_overlay.hidden{display:none}.fb_dialog.fb_dialog_mobile.loading iframe{visibility:hidden}.fb_dialog_mobile .fb_dialog_iframe{position:sticky;top:0}.fb_dialog_content .dialog_header{background:linear-gradient(from(#738aba), to(#2c4987));border-bottom:1px solid;border-color:#1d3c78;box-shadow:white 0 1px 1px -1px inset;color:#fff;font:bold 14px Helvetica, sans-serif;text-overflow:ellipsis;text-shadow:rgba(0, 30, 84, .296875) 0 -1px 0;vertical-align:middle;white-space:nowrap}.fb_dialog_content .dialog_header table{height:43px;width:100%}.fb_dialog_content .dialog_header td.header_left{font-size:12px;padding-left:5px;vertical-align:middle;width:60px}.fb_dialog_content .dialog_header td.header_right{font-size:12px;padding-right:5px;vertical-align:middle;width:60px}.fb_dialog_content .touchable_button{background:linear-gradient(from(#4267B2), to(#2a4887));background-clip:padding-box;border:1px solid #29487d;border-radius:3px;display:inline-block;line-height:18px;margin-top:3px;max-width:85px;padding:4px 12px;position:relative}.fb_dialog_content .dialog_header .touchable_button input{background:none;border:none;color:#fff;font:bold 12px Helvetica, sans-serif;margin:2px -12px;padding:2px 6px 3px 6px;text-shadow:rgba(0, 30, 84, .296875) 0 -1px 0}.fb_dialog_content .dialog_header .header_center{color:#fff;font-size:16px;font-weight:bold;line-height:18px;text-align:center;vertical-align:middle}.fb_dialog_content .dialog_content{background:url(https://static.xx.fbcdn.net/rsrc.php/v3/y9/r/jKEcVPZFk-2.gif) no-repeat 50% 50%;border:1px solid #4a4a4a;border-bottom:0;border-top:0;height:150px}.fb_dialog_content .dialog_footer{background:#f5f6f7;border:1px solid #4a4a4a;border-top-color:#ccc;height:40px}#fb_dialog_loader_close{float:left}.fb_dialog.fb_dialog_mobile .fb_dialog_close_button{text-shadow:rgba(0, 30, 84, .296875) 0 -1px 0}.fb_dialog.fb_dialog_mobile .fb_dialog_close_icon{visibility:hidden}#fb_dialog_loader_spinner{animation:rotateSpinner 1.2s linear infinite;background-color:transparent;background-image:url(https://static.xx.fbcdn.net/rsrc.php/v3/yD/r/t-wz8gw1xG1.png);background-position:50% 50%;background-repeat:no-repeat;height:24px;width:24px}@keyframes rotateSpinner{0%{transform:rotate(0deg)}100%{transform:rotate(360deg)}}
|
||||||
|
.fb_iframe_widget{display:inline-block;position:relative}.fb_iframe_widget span{display:inline-block;position:relative;text-align:justify}.fb_iframe_widget iframe{position:absolute}.fb_iframe_widget_fluid_desktop,.fb_iframe_widget_fluid_desktop span,.fb_iframe_widget_fluid_desktop iframe{max-width:100%}.fb_iframe_widget_fluid_desktop iframe{min-width:220px;position:relative}.fb_iframe_widget_lift{z-index:1}.fb_iframe_widget_fluid{display:inline}.fb_iframe_widget_fluid span{width:100%}</style></head>
|
||||||
|
<body style="">
|
||||||
|
<div id="fb-root" class=" fb_reset"><div style="position: absolute; top: -10000px; width: 0px; height: 0px;"><div><iframe name="fb_xdm_frame_https" frameborder="0" allowtransparency="true" allowfullscreen="true" scrolling="no" allow="encrypted-media" id="fb_xdm_frame_https" aria-hidden="true" title="Facebook Cross Domain Communication Frame" tabindex="-1" style="border: none;"></iframe></div><div></div></div></div>
|
||||||
|
|
||||||
|
<div class="container">
|
||||||
|
<header role="banner">
|
||||||
|
<div class="site-logo">
|
||||||
|
<img class="img-responsive">
|
||||||
|
</div>
|
||||||
|
<div class="social-icons">
|
||||||
|
<ul>
|
||||||
|
<li><a href="https://plus.google.com/u/0/b/117459198804382587187/117459198804382587187/" class="google" target="_blank"></a></li>
|
||||||
|
<li><a href="https://twitter.com/EuroMillionsCo" class="twitter" target="_blank"></a></li>
|
||||||
|
<li><a href="https://www.facebook.com/pages/Euromillionsco/226113827555694" class="facebook" target="_blank"></a></li>
|
||||||
|
<li><a href="http://www.pinterest.com/euromillionsco/" class="pinterest" target="_blank"></a></li>
|
||||||
|
</ul>
|
||||||
|
</div>
|
||||||
|
</header>
|
||||||
|
<div role="navigation" class="navbar navbar-default primary-nav">
|
||||||
|
<div class="navbar-header">
|
||||||
|
<button data-target=".navbar-collapse" data-toggle="collapse" class="navbar-toggle" type="button">
|
||||||
|
<span class="sr-only">Toggle navigation</span>
|
||||||
|
<span class="icon-bar"></span>
|
||||||
|
<span class="icon-bar"></span>
|
||||||
|
<span class="icon-bar"></span>
|
||||||
|
</button>
|
||||||
|
<a class="brand" href="/">EuroMillions</a>
|
||||||
|
</div>
|
||||||
|
<div class="navbar-collapse collapse">
|
||||||
|
<ul class="nav navbar-nav primary-nav">
|
||||||
|
<li><a href="http://www.euromillions.co/results">Latest Results</a></li>
|
||||||
|
<li><a href="http://www.euromillions.co/tools">Tools</a></li>
|
||||||
|
<li><a href="http://www.euromillions.co/news">News</a></li>
|
||||||
|
<li><a href="http://www.euromillions.co/how-to-play">How to Play</a></li>
|
||||||
|
<li><a href="http://www.euromillions.co/buying-tickets-online">Buying Tickets Online</a></li>
|
||||||
|
<li><a href="http://www.euromillions.co/prizes">Prizes</a></li> </ul>
|
||||||
|
</div><!--/.nav-collapse -->
|
||||||
|
</div>
|
||||||
|
<div class="main">
|
||||||
|
<div class="content">
|
||||||
|
<ol class="breadcrumb">
|
||||||
|
<li><a href="/">Home</a></li>
|
||||||
|
</ol>
|
||||||
|
<h1 class="simple">Latest EuroMillions Results and Prizes</h1>
|
||||||
|
<h2 class="dk-blue sq">Tuesday 5th February 2019</h2>
|
||||||
|
<div class="row">
|
||||||
|
<div class="col-md-10">
|
||||||
|
<ul class="results">
|
||||||
|
<li>14</li>
|
||||||
|
<li>25</li>
|
||||||
|
<li>31</li>
|
||||||
|
<li>37</li>
|
||||||
|
<li>43</li>
|
||||||
|
<li class="lucky-star">2</li>
|
||||||
|
<li class="lucky-star">3</li>
|
||||||
|
</ul>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="draw-information">
|
||||||
|
<div class="row">
|
||||||
|
<div class="col-lg-7 col-xs-12 col-sm-12">
|
||||||
|
<ul>
|
||||||
|
<li>Draw No: <span>1187</span></li>
|
||||||
|
<li>Jackpot: <span class="money">€128,000,000</span></li>
|
||||||
|
</ul>
|
||||||
|
</div>
|
||||||
|
<div class="col-lg-5 col-xs-12 col-sm-12">
|
||||||
|
<a class="btn btn-link" href="/results/05-feb-2019">View Latest Draw Details</a>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<h3>Previous Results</h3>
|
||||||
|
<div class="result-teaser">
|
||||||
|
<div class="row">
|
||||||
|
<div class="col-sm-3">
|
||||||
|
<a href="/results/01-feb-2019" class="draw-link"><span>Friday</span> 1st February 2019</a>
|
||||||
|
</div>
|
||||||
|
<div class="col-sm-5">
|
||||||
|
<ul class="results">
|
||||||
|
<li>3</li>
|
||||||
|
<li>21</li>
|
||||||
|
<li>26</li>
|
||||||
|
<li>41</li>
|
||||||
|
<li>46</li>
|
||||||
|
<li class="lucky-star">1</li>
|
||||||
|
<li class="lucky-star">6</li>
|
||||||
|
</ul>
|
||||||
|
</div>
|
||||||
|
<div class="col-sm-4">
|
||||||
|
<div class="draw-information">
|
||||||
|
<ul>
|
||||||
|
<li>Draw No: <span>1186</span></li>
|
||||||
|
<li>Jackpot: <span class="money">€120,000,000</span></li>
|
||||||
|
</ul>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div></div> <div class="result-teaser">
|
||||||
|
<div class="row">
|
||||||
|
<div class="col-sm-3">
|
||||||
|
<a href="/results/29-jan-2019" class="draw-link"><span>Tuesday</span> 29th January 2019</a>
|
||||||
|
</div>
|
||||||
|
<div class="col-sm-5">
|
||||||
|
<ul class="results">
|
||||||
|
<li>14</li>
|
||||||
|
<li>24</li>
|
||||||
|
<li>26</li>
|
||||||
|
<li>32</li>
|
||||||
|
<li>39</li>
|
||||||
|
<li class="lucky-star">3</li>
|
||||||
|
<li class="lucky-star">8</li>
|
||||||
|
</ul>
|
||||||
|
</div>
|
||||||
|
<div class="col-sm-4">
|
||||||
|
<div class="draw-information">
|
||||||
|
<ul>
|
||||||
|
<li>Draw No: <span>1185</span></li>
|
||||||
|
<li>Jackpot: <span class="money">€84,000,000</span></li>
|
||||||
|
</ul>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div></div> <div class="result-teaser">
|
||||||
|
<div class="row">
|
||||||
|
<div class="col-sm-3">
|
||||||
|
<a href="/results/25-jan-2019" class="draw-link"><span>Friday</span> 25th January 2019</a>
|
||||||
|
</div>
|
||||||
|
<div class="col-sm-5">
|
||||||
|
<ul class="results">
|
||||||
|
<li>1</li>
|
||||||
|
<li>6</li>
|
||||||
|
<li>13</li>
|
||||||
|
<li>15</li>
|
||||||
|
<li>16</li>
|
||||||
|
<li class="lucky-star">6</li>
|
||||||
|
<li class="lucky-star">10</li>
|
||||||
|
</ul>
|
||||||
|
</div>
|
||||||
|
<div class="col-sm-4">
|
||||||
|
<div class="draw-information">
|
||||||
|
<ul>
|
||||||
|
<li>Draw No: <span>1184</span></li>
|
||||||
|
<li>Jackpot: <span class="money">€78,000,000</span></li>
|
||||||
|
</ul>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div></div> <div class="result-teaser">
|
||||||
|
<div class="row">
|
||||||
|
<div class="col-sm-3">
|
||||||
|
<a href="/results/22-jan-2019" class="draw-link"><span>Tuesday</span> 22nd January 2019</a>
|
||||||
|
</div>
|
||||||
|
<div class="col-sm-5">
|
||||||
|
<ul class="results">
|
||||||
|
<li>9</li>
|
||||||
|
<li>23</li>
|
||||||
|
<li>29</li>
|
||||||
|
<li>41</li>
|
||||||
|
<li>49</li>
|
||||||
|
<li class="lucky-star">8</li>
|
||||||
|
<li class="lucky-star">10</li>
|
||||||
|
</ul>
|
||||||
|
</div>
|
||||||
|
<div class="col-sm-4">
|
||||||
|
<div class="draw-information">
|
||||||
|
<ul>
|
||||||
|
<li>Draw No: <span>1183</span></li>
|
||||||
|
<li>Jackpot: <span class="money">€70,000,000</span></li>
|
||||||
|
</ul>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div></div> <div class="result-teaser">
|
||||||
|
<div class="row">
|
||||||
|
<div class="col-sm-3">
|
||||||
|
<a href="/results/18-jan-2019" class="draw-link"><span>Friday</span> 18th January 2019</a>
|
||||||
|
</div>
|
||||||
|
<div class="col-sm-5">
|
||||||
|
<ul class="results">
|
||||||
|
<li>5</li>
|
||||||
|
<li>6</li>
|
||||||
|
<li>16</li>
|
||||||
|
<li>30</li>
|
||||||
|
<li>46</li>
|
||||||
|
<li class="lucky-star">5</li>
|
||||||
|
<li class="lucky-star">10</li>
|
||||||
|
</ul>
|
||||||
|
</div>
|
||||||
|
<div class="col-sm-4">
|
||||||
|
<div class="draw-information">
|
||||||
|
<ul>
|
||||||
|
<li>Draw No: <span>1182</span></li>
|
||||||
|
<li>Jackpot: <span class="money">€60,000,000</span></li>
|
||||||
|
</ul>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div></div> <div class="result-teaser">
|
||||||
|
<div class="row">
|
||||||
|
<div class="col-sm-3">
|
||||||
|
<a href="/results/15-jan-2019" class="draw-link"><span>Tuesday</span> 15th January 2019</a>
|
||||||
|
</div>
|
||||||
|
<div class="col-sm-5">
|
||||||
|
<ul class="results">
|
||||||
|
<li>22</li>
|
||||||
|
<li>25</li>
|
||||||
|
<li>29</li>
|
||||||
|
<li>33</li>
|
||||||
|
<li>35</li>
|
||||||
|
<li class="lucky-star">3</li>
|
||||||
|
<li class="lucky-star">6</li>
|
||||||
|
</ul>
|
||||||
|
</div>
|
||||||
|
<div class="col-sm-4">
|
||||||
|
<div class="draw-information">
|
||||||
|
<ul>
|
||||||
|
<li>Draw No: <span>1181</span></li>
|
||||||
|
<li>Jackpot: <span class="money">€46,000,000</span></li>
|
||||||
|
</ul>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div></div> <div class="result-teaser">
|
||||||
|
<div class="row">
|
||||||
|
<div class="col-sm-3">
|
||||||
|
<a href="/results/11-jan-2019" class="draw-link"><span>Friday</span> 11th January 2019</a>
|
||||||
|
</div>
|
||||||
|
<div class="col-sm-5">
|
||||||
|
<ul class="results">
|
||||||
|
<li>1</li>
|
||||||
|
<li>19</li>
|
||||||
|
<li>31</li>
|
||||||
|
<li>39</li>
|
||||||
|
<li>48</li>
|
||||||
|
<li class="lucky-star">1</li>
|
||||||
|
<li class="lucky-star">6</li>
|
||||||
|
</ul>
|
||||||
|
</div>
|
||||||
|
<div class="col-sm-4">
|
||||||
|
<div class="draw-information">
|
||||||
|
<ul>
|
||||||
|
<li>Draw No: <span>1180</span></li>
|
||||||
|
<li>Jackpot: <span class="money">€36,000,000</span></li>
|
||||||
|
</ul>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div></div> <div class="result-teaser">
|
||||||
|
<div class="row">
|
||||||
|
<div class="col-sm-3">
|
||||||
|
<a href="/results/08-jan-2019" class="draw-link"><span>Tuesday</span> 8th January 2019</a>
|
||||||
|
</div>
|
||||||
|
<div class="col-sm-5">
|
||||||
|
<ul class="results">
|
||||||
|
<li>3</li>
|
||||||
|
<li>19</li>
|
||||||
|
<li>22</li>
|
||||||
|
<li>31</li>
|
||||||
|
<li>32</li>
|
||||||
|
<li class="lucky-star">2</li>
|
||||||
|
<li class="lucky-star">11</li>
|
||||||
|
</ul>
|
||||||
|
</div>
|
||||||
|
<div class="col-sm-4">
|
||||||
|
<div class="draw-information">
|
||||||
|
<ul>
|
||||||
|
<li>Draw No: <span>1179</span></li>
|
||||||
|
<li>Jackpot: <span class="money">€25,000,000</span></li>
|
||||||
|
</ul>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div></div> <div class="result-teaser">
|
||||||
|
<div class="row">
|
||||||
|
<div class="col-sm-3">
|
||||||
|
<a href="/results/04-jan-2019" class="draw-link"><span>Friday</span> 4th January 2019</a>
|
||||||
|
</div>
|
||||||
|
<div class="col-sm-5">
|
||||||
|
<ul class="results">
|
||||||
|
<li>7</li>
|
||||||
|
<li>11</li>
|
||||||
|
<li>19</li>
|
||||||
|
<li>27</li>
|
||||||
|
<li>37</li>
|
||||||
|
<li class="lucky-star">6</li>
|
||||||
|
<li class="lucky-star">10</li>
|
||||||
|
</ul>
|
||||||
|
</div>
|
||||||
|
<div class="col-sm-4">
|
||||||
|
<div class="draw-information">
|
||||||
|
<ul>
|
||||||
|
<li>Draw No: <span>1178</span></li>
|
||||||
|
<li>Jackpot: <span class="money">€17,000,000</span></li>
|
||||||
|
</ul>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div></div>
|
||||||
|
</div>
|
||||||
|
<div class="sidebar">
|
||||||
|
<div class="block sidebar-block">
|
||||||
|
<h3>EuroMillions Results for the Last Year</h3><ul class="nav"> <li>
|
||||||
|
<a href="http://www.euromillions.co/results/june-2018" title="Full details for the EuroMillions draw on June 2018">June 2018</a>
|
||||||
|
</li> <li>
|
||||||
|
<a href="http://www.euromillions.co/results/may-2018" title="Full details for the EuroMillions draw on May 2018">May 2018</a>
|
||||||
|
</li> <li>
|
||||||
|
<a href="http://www.euromillions.co/results/april-2018" title="Full details for the EuroMillions draw on April 2018">April 2018</a>
|
||||||
|
</li> <li>
|
||||||
|
<a href="http://www.euromillions.co/results/march-2018" title="Full details for the EuroMillions draw on March 2018">March 2018</a>
|
||||||
|
</li> <li>
|
||||||
|
<a href="http://www.euromillions.co/results/february-2018" title="Full details for the EuroMillions draw on February 2018">February 2018</a>
|
||||||
|
</li> <li>
|
||||||
|
<a href="http://www.euromillions.co/results/january-2018" title="Full details for the EuroMillions draw on January 2018">January 2018</a>
|
||||||
|
</li> <li>
|
||||||
|
<a href="http://www.euromillions.co/results/december-2017" title="Full details for the EuroMillions draw on December 2017">December 2017</a>
|
||||||
|
</li> <li>
|
||||||
|
<a href="http://www.euromillions.co/results/november-2017" title="Full details for the EuroMillions draw on November 2017">November 2017</a>
|
||||||
|
</li> <li>
|
||||||
|
<a href="http://www.euromillions.co/results/october-2017" title="Full details for the EuroMillions draw on October 2017">October 2017</a>
|
||||||
|
</li> <li>
|
||||||
|
<a href="http://www.euromillions.co/results/september-2017" title="Full details for the EuroMillions draw on September 2017">September 2017</a>
|
||||||
|
</li> <li>
|
||||||
|
<a href="http://www.euromillions.co/results/august-2017" title="Full details for the EuroMillions draw on August 2017">August 2017</a>
|
||||||
|
</li> <li>
|
||||||
|
<a href="http://www.euromillions.co/results/july-2017" title="Full details for the EuroMillions draw on July 2017">July 2017</a>
|
||||||
|
</li><li><a href="/results/past-results" title="Past Results for EuroMillions draw beyond the last year.">Past Results</a></li>
|
||||||
|
</ul><div class="cal-widget">
|
||||||
|
<h3>Pick a Draw by Date</h3><div class="cal-widget-table"><div class="cal-widget-header"><div class="row"><div class="col-xs-2 prev"><a class="previous" onclick="getMonth('01','2019')"></a></div><div class="col-xs-8"><h4>February 2019</h4></div></div></div><table cellpadding="0" cellspacing="0" class="calendar table"><thead><tr class="calendar-row"><th class="calendar-day-head">Sun</th><th class="calendar-day-head">Mon</th><th class="calendar-day-head">Tue</th><th class="calendar-day-head">Wed</th><th class="calendar-day-head">Thu</th><th class="calendar-day-head">Fri</th><th class="calendar-day-head">Sat</th></tr></thead><tbody><tr class="calendar-row"><td class="calendar-day-np"> </td><td class="calendar-day-np"> </td><td class="calendar-day-np"> </td><td class="calendar-day-np"> </td><td class="calendar-day-np"> </td><td class="calendar-day draw-day"><a href="http://www.euromillions.co/results/01-feb-2019">01</a></td><td class="calendar-day">02</td></tr><tr class="calendar-row"><td class="calendar-day">03</td><td class="calendar-day">04</td><td class="calendar-day draw-day"><a href="http://www.euromillions.co/results/05-feb-2019">05</a></td><td class="calendar-day">06</td><td class="calendar-day">07</td><td class="calendar-day draw-day"><a href="http://www.euromillions.co/results/08-feb-2019">08</a></td><td class="calendar-day">09</td></tr><tr class="calendar-row"><td class="calendar-day">10</td><td class="calendar-day">11</td><td class="calendar-day">12</td><td class="calendar-day">13</td><td class="calendar-day">14</td><td class="calendar-day">15</td><td class="calendar-day">16</td></tr><tr class="calendar-row"><td class="calendar-day">17</td><td class="calendar-day">18</td><td class="calendar-day">19</td><td class="calendar-day">20</td><td class="calendar-day">21</td><td class="calendar-day">22</td><td class="calendar-day">23</td></tr><tr class="calendar-row"><td class="calendar-day">24</td><td class="calendar-day">25</td><td class="calendar-day">26</td><td class="calendar-day">27</td><td class="calendar-day">28</td><td class="calendar-day-np"> </td><td class="calendar-day-np"> </td></tr></tbody></table></div></div>
|
||||||
|
</div>
|
||||||
|
<div class="promo-sidebar">
|
||||||
|
<div id="carousel" class="carousel slide" data-ride="carousel">
|
||||||
|
<div class="carousel-inner">
|
||||||
|
<div class="item">
|
||||||
|
<a href="/go/tl-em-uk" target="_blank"><img alt="Play EuroMillions Online Now"></a>
|
||||||
|
</div>
|
||||||
|
<div class="item active left">
|
||||||
|
<a href="/go/tl-em-uk" target="_blank"><img alt="Buy 1 Get One Free"></a>
|
||||||
|
</div>
|
||||||
|
<div class="item next left">
|
||||||
|
<a href="/go/tl-em-uk" target="_blank"><img alt="Buy EuroMillions Tickets Now"></a>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="fb-like-box fb_iframe_widget" data-href="https://www.facebook.com/euromillions.co" data-colorscheme="light" data-show-faces="true" data-header="true" data-stream="false" data-show-border="true" fb-xfbml-state="rendered" fb-iframe-plugin-query="app_id=&color_scheme=light&container_width=360&header=true&href=https%3A%2F%2Fwww.facebook.com%2Feuromillions.co&locale=en_GB&sdk=joey&show_border=true&show_faces=true&stream=false"><span style="vertical-align: top; width: 0px; height: 0px; overflow: hidden;"><iframe name="f30c9966ccec1f8" width="1000px" height="1000px" frameborder="0" allowtransparency="true" allowfullscreen="true" scrolling="no" allow="encrypted-media" title="fb:like_box Facebook Social Plugin" style="border: none; visibility: visible; display: none !important; width: 0px; height: 0px;" hidden=""></iframe></span></div>
|
||||||
|
<div class="block sidebar-block">
|
||||||
|
<h3>EuroMillions Toolbox</h3>
|
||||||
|
<div class="tool teaser"><a href="/tools/number-analysis"><img class="icon pull-left" width="90px" hright="90px"><h4>Number Analysis</h4>
|
||||||
|
</a><p>Revolutionary in-depth analysis of every EuroMillions number using data from the entire lifetime of the lottery.</p></div>
|
||||||
|
<div class="tool teaser"><a href="/tools/common-pairs"><img class="icon pull-left" width="90px" hright="90px"><h4>Common Pairs</h4>
|
||||||
|
</a><p>Find the most common EuroMillions lottery numbers drawn together over the entire history of the draw.</p></div>
|
||||||
|
<div class="tool teaser"><a href="/tools/common-triplets"><img class="icon pull-left" width="90px" hright="90px"><h4>Common Triplets</h4>
|
||||||
|
</a><p>Discover the most common triplets ever drawn in the EuroMillions lottery ranked in order of frequency.</p></div>
|
||||||
|
<div class="tool teaser"><a href="/tools/numbers-most-drawn"><img class="icon pull-left" width="90px" hright="90px"><h4>Numbers Most Drawn</h4>
|
||||||
|
</a><p>This tool reports on the most common numbers and Lucky Stars measured by percentage and frequency.</p></div>
|
||||||
|
<div class="tool teaser"><a href="/tools/skip-hit-predictions"><img class="icon pull-left" width="90px" hright="90px"><h4>Skip and Hit Predictions</h4>
|
||||||
|
</a><p>Find out when any given number is statistically due, not due or overdue based on its past draw history.</p></div>
|
||||||
|
<div class="tool teaser"><a href="/tools/number-generator"><img class="icon pull-left" width="90px" hright="90px"><h4>Number Generator</h4>
|
||||||
|
</a><p>Use our lucky Number Generator to generate your EuroMillions numbers at the click of a button.</p></div></div>
|
||||||
|
<div class="in-numbers">
|
||||||
|
<h3>EuroMillions in Numbers</h3>
|
||||||
|
<ul>
|
||||||
|
<li class="reverse" style="font-size: 24px;"> <span>50</span> is the most popular number drawn</li>
|
||||||
|
<li style="font-size: 14px;"> <span>47</span> hasn't been drawn for <span>32</span> draws</li>
|
||||||
|
<li class="reverse" style="font-size: 18px;"> <span>5</span> has contributed to 46 jackpot wins</li>
|
||||||
|
<li style="font-size: 34px;"> <span class="money">€15,265,748,517</span> paid out in jackpots</li>
|
||||||
|
<li class="reverse" style="font-size: 19px;"> <span>4</span> and <span>23</span> have been drawn together <span>24</span> times</li>
|
||||||
|
<li style="font-size: 19px;"> <span>6</span>, <span>48</span> and <span>50</span> is the most common triplet</li>
|
||||||
|
<li class="reverse" style="font-size: 28px;"> <span>15</span> numbers are overdue</li>
|
||||||
|
<li style="font-size: 34px;"> <span class="money">€128,000,000</span> is the biggest win this year</li>
|
||||||
|
</ul></div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div> <!-- /container -->
|
||||||
|
|
||||||
|
<footer>
|
||||||
|
<div class="container">
|
||||||
|
<div class="row">
|
||||||
|
<div class="col-md-5">
|
||||||
|
<h3>About EuroMillions.co</h3>
|
||||||
|
<p>The EuroMillions lottery was launched in 2004 by the national lotteries of Spain, France and the United Kingdom. EuroMillions.co reports on all EuroMillions lottery results quickly and accurately to players all over Europe and beyond. We also provide free tools that offer insightful statistical analysis of all past results in an effort to enhance your EuroMillions experience.</p>
|
||||||
|
</div>
|
||||||
|
<div class="col-md-4">
|
||||||
|
<h3>Useful EuroMillions Information</h3>
|
||||||
|
<ul>
|
||||||
|
<li><a href="/euromillions-comparisons">EuroMillions Comparisons</a></li>
|
||||||
|
<li><a href="/faqs">FAQs</a></li>
|
||||||
|
<li><a href="/millionaire-raffle">Millionaire Raffle</a></li>
|
||||||
|
<li><a href="/extra-games">Extra Games</a></li>
|
||||||
|
<li><a href="/lottery-scams">Lottery Scams</a></li>
|
||||||
|
<li><a href="/history-euromillions">History of EuroMillions</a></li>
|
||||||
|
<li><a href="/profiles">Our Profiles</a></li>
|
||||||
|
<li><a href="/terms">Terms</a></li>
|
||||||
|
</ul>
|
||||||
|
</div>
|
||||||
|
<div class="col-md-3">
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="copyright">
|
||||||
|
<div class="container">
|
||||||
|
<span class="pull-right">EuroMillions.co is in no way associated with, supported, or endorsed by Services aux Loteries en Europe, Camelot UK Lotteries Limited or The National Lottery Commission.</span>
|
||||||
|
<span class="pull-right">© Copyright 2019 Lotto Logic LTD. All Rights Reserved.</span>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</footer>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
</body></html>
|
1656
test/data/latestResult.html
Normal file
1656
test/data/latestResult.html
Normal file
File diff suppressed because it is too large
Load Diff
44
test/scrape.js
Normal file
44
test/scrape.js
Normal file
@ -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();
|
||||||
|
});
|
Loading…
Reference in New Issue
Block a user