UNPKG

jul11co-sitespider

Version:

Jul11Co Web Spider

90 lines (64 loc) 1.92 kB
# jul11co-sitespider Jul11Co's Website Spider - Crawling website. ### Installation From npm ``` npm install -g jul11co-sitespider ``` ### Usage * Commandline ``` Usage: sitespider [OPTIONS...] [page_url] <output_dir> --download : Download --resume : Resume --update : Update (and check for incompleted links) --add-link : Add link --fix-links : Fix links --verbose : Verbose --images : Download images (default: false) --scripts : Download scripts (default: false) --stylesheets : Download stylesheets (default: false) --max-depth=X : Specify max depth ``` * API ```javascript var Spider = require('jul11co-sitespider'); var spider = new Spider({ config_file: "PATH_TO_CONFIG_FILE", // optional state_file: "PATH_TO_STATE_FiLE", // optional }); spider.on('page_error', function(err, link){}); spider.on('page_done', function(err, page){}); spider.on('error', function(error){}); spider.on('exit', function(err){}); spider.getConfig(key); spider.setConfig(key, value); spider.start(start_link, output_dir, options); spider.resume(output_dir, options); spider.update(output_dir, options); ``` * Extend with scrapers Content of scraper script: ```javascript // sitespider_scrapers/example.js module.exports = { name: 'Example', match: function(url, options) { // matching rules // return true or false }, scrape: function($, page, options) { // scraping here... } } ``` ```javascript // example-spider.js var Spider = require('jul11co-sitespider'); var spider = new Spider(); spider.addScraper(require('./sitespider_scrapers/example')); ... ``` ### License Licensed under the Apache License, Version 2.0 (<http://www.apache.org/licenses/LICENSE-2.0>)