1 |
|
2 | var Core, Extractor, _extend, scraperjs;
|
3 |
|
4 | scraperjs = require('scraperjs');
|
5 |
|
6 | Extractor = require('./extractor').Extractor;
|
7 |
|
8 | _extend = require('util')._extend;
|
9 |
|
10 | Core = {
|
11 | page: function(url, options) {
|
12 | var defaultOptions, scraper;
|
13 | options = options != null ? options : {};
|
14 | defaultOptions = {
|
15 | url: url
|
16 | };
|
17 | options = _extend(defaultOptions, options);
|
18 | if (options.pageUrlAsReferrer === true) {
|
19 | if (options.headers == null) {
|
20 | options.headers = {};
|
21 | }
|
22 | if (options.hasOwnProperty('previousUrl')) {
|
23 | options.headers.referer = options.previousUrl;
|
24 | } else {
|
25 | options.headers.referer = url;
|
26 | }
|
27 | }
|
28 | scraper = scraperjs.StaticScraper.create({
|
29 | url: options.url,
|
30 | headers: options.headers
|
31 | });
|
32 | return new Extractor(url, scraper);
|
33 | },
|
34 | file: function(url, pageUrl) {
|
35 | var File;
|
36 | File = require('./file');
|
37 | return new File(url, pageUrl);
|
38 | },
|
39 | load: function(filepath, downloadCb, extractCb) {
|
40 | var Parser;
|
41 | Parser = require('./parser');
|
42 | return new Parser().onDownload(downloadCb).onExtract(extractCb).parse(filepath);
|
43 | }
|
44 | };
|
45 |
|
46 | module.exports = Core;
|