-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathscraper.js
31 lines (27 loc) · 821 Bytes
/
scraper.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
let Crawler = require("crawler");
let scrape = (uri, size, onDone) => {
let popLast = (str, separator) => {
let segs = str.split(separator);
segs.pop();
return segs.join(separator);
};
let artOfSize = (src, size) =>
`${popLast(src, "/")}/${size.toString()}x0w.jpg`;
let c = new Crawler({
callback : function (error, res, done) {
let art;
if (error) {
console.log(error);
done();
} else {
let $ = res.$;
art = $(".product-hero img").attr("src");
title = $(".product-header__title").text()
onDone(artOfSize(art, size), title);
done();
}
}
});
c.queue(uri);
};
module.exports = {scrape};