如何使用runoob进行高效爬虫开发?
- 内容介绍
- 文章标签
- 相关推荐
本文共计209个文字,预计阅读时间需要1分钟。
javascriptconst cheerio=require('cheerio');const request=require('sync-request');const fs=require('fs');const process=require('process');const url=process.argv[2];
if (!url) { console.log('请指定页面。'); process.exit(1);}
var ofile=fs.openSync('output.txt', 'w');
var cheerio = require('cheerio'); var request = require('sync-request'); var fs = require('fs'); var process = require('process'); var url = process.argv[2]; if(!url) { console.log('请指定页面。'); process.exit(0); } var ofile = fs.openSync('out.html', 'w'); var html = request('GET', url).getBody().toString(); var toc = getToc(html); for(var i in toc) { try { var url = toc[i]; console.log('page: ' + url); html = request('GET', url).getBody().toString(); var content = getContent(html); fs.writeSync(ofile, content, null, 'utf-8'); fs.writeSync(ofile, '\n \n', null, 'utf-8'); } catch(ex) { console.log(ex); } } fs.closeSync(ofile); console.log('Done..'); function getToc(html) { var $ = cheerio.load(html); var $list = $('#leftcolumn').find('a'); var res = []; for(var i = 0; i < $list.length; i++) { var url = $list.eq(i).attr('href'); res.push('www.runoob.com/' + url); } return res; } function getContent(html) { var $ = cheerio.load(html); $('.tryitbtn').remove(); var content = $('#content').html(); return content; }
本文共计209个文字,预计阅读时间需要1分钟。
javascriptconst cheerio=require('cheerio');const request=require('sync-request');const fs=require('fs');const process=require('process');const url=process.argv[2];
if (!url) { console.log('请指定页面。'); process.exit(1);}
var ofile=fs.openSync('output.txt', 'w');
var cheerio = require('cheerio'); var request = require('sync-request'); var fs = require('fs'); var process = require('process'); var url = process.argv[2]; if(!url) { console.log('请指定页面。'); process.exit(0); } var ofile = fs.openSync('out.html', 'w'); var html = request('GET', url).getBody().toString(); var toc = getToc(html); for(var i in toc) { try { var url = toc[i]; console.log('page: ' + url); html = request('GET', url).getBody().toString(); var content = getContent(html); fs.writeSync(ofile, content, null, 'utf-8'); fs.writeSync(ofile, '\n \n', null, 'utf-8'); } catch(ex) { console.log(ex); } } fs.closeSync(ofile); console.log('Done..'); function getToc(html) { var $ = cheerio.load(html); var $list = $('#leftcolumn').find('a'); var res = []; for(var i = 0; i < $list.length; i++) { var url = $list.eq(i).attr('href'); res.push('www.runoob.com/' + url); } return res; } function getContent(html) { var $ = cheerio.load(html); $('.tryitbtn').remove(); var content = $('#content').html(); return content; }

