-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathindex.js
55 lines (48 loc) · 1.64 KB
/
index.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
"use strict"
const request = require('request')
const cheerio = require('cheerio')
const moment = require('moment')
const downloader = require('image-downloader')
const start_date = moment("01-12-2017", "DD-MM-YYYY")
const end_date = moment("15-12-2017", "DD-MM-YYYY")
let current_date = start_date
let dates_array = []
const downloadImage = (date) => {
return new Promise((resolve, reject) => {
request('http://dilbert.com/strip/' + current_date.format('YYYY-MM-DD'), (error, response, html) => {
if (!error && response.statusCode === 200) {
const $ = cheerio.load(html);
const options = {
url: $('.img-comic').attr('src'),
dest: './' + date + ".jpg", // Save to /path/to/dest/image.jpg
}
return downloader
.image(options)
.then(({filename, image}) => {
return resolve('File saved to' + filename)
})
.catch((err) => {
return reject(err)
})
}
})
})
}
//generate all dates
while (current_date <= end_date) {
dates_array.push(moment(current_date).format('YYYY-MM-DD'))
current_date = moment(current_date).add(1, 'days');
}
const donwloadStrips = async() => {
console.log("size", dates_array.length)
for (let date of dates_array) {
console.log("downloading", date)
try {
const result = await downloadImage(date)
console.log(result)
} catch (error) {
console.log(error)
}
}
}
donwloadStrips()