nodejs简单爬虫->获取分页数据->下载多特的应用信息

1.新建webSpider.js

var http = require('http');
var fs = require('fs');
var iconv = require('iconv-lite');   

function webSpider(argument) {	
	this.url = argument.url;	//开始的页面地址
	this.outpath = argument.outpath || 'g://temp/';
	this.filter = argument.filter || new filter({
		regex : argument.regex,	//默认过滤所有的图片
		url : argument.url,
		custom : argument.custom
	});
	this.pagin = argument.pagin || false;	//默认不处理
	this.download = argument.download;	//是否立即下载[默认为是true]
	this.page = argument.page || new page({
		filter:this.filter ,		//默认的过滤器
		outpath:this.outpath ,		//默认输出路径
		download:this.download		//默认不处理
	});	
}
// 开始执行
webSpider.prototype.start = function() {
	if(this.pagin == false) this.page.getHtml(this.url);
	else this.paginHandle();
};
//处理多页的问题
webSpider.prototype.paginHandle = function() {
	var _pagin = this.pagin,_urlRule = _pagin.urlRule,
		i = _pagin.start,len = _pagin.end,
		_page = this.page,_url;
	//仅有第一页,需要处理
	_page.getHtml(this.url ,1);
	//处理剩余页
	while(i<=len){
		_url = _urlRule.replace(/({page})/g,i);
		_page.getHtml(_url ,i);
		i++;
	}
};
//过滤对象
function filter(argument){
	this.regex = argument.regex || /<img\s.*src="(.*?)"/g;
	this.custom = argument.custom;

	this.domainName = this.tools.getDomain(argument.url);
	this.url = argument.url;
}
filter.prototype={
	tools : {
		getDomain : function _getDomain (url) {
	        url = url.split('/');
	        return url[0
  • 4
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值