nodejs使用asyn优化的爬取

该博客介绍了一个使用Node.js和async库优化的爬虫示例,通过request和cheerio库爬取zngirls网站的数据。爬虫能同时处理两个请求,遍历个人主页和影集,下载图片,并使用异步队列控制并发,确保下载过程的高效和稳定。
摘要由CSDN通过智能技术生成
/*
 使用request + cheerio来爬取zngirls网站上的数据
 */
const request = require('request');
const http = require('http');
const fs = require('fs');
const cheerio = require('cheerio');
const url = require('url');
const util = require('util');
const path = require('path');
const process = require('process');
const events = require('events');
const EventEmitter = events.EventEmitter;
const async = require('async');

function Crawl(girlID) {
    this.girlID = girlID;
    this.girlUrlFmt = 'http://www.zngirls.com/girl/%d/';
    //同时可以执行两个
    var self = this;
    this.queue = async.queue(function (task, callback) {
        //console.log('Hello' + task.name);
        //执行操作
        console.log('url:' + task.url + ' file:' + task.file);
        self.download2(task.url, task.file, callback);
    }, 2);
}

Crawl.prototype = {
    start: function () {
        //爬取个人主页
        var self = this;
        request.get(this.U(this.getGirlUrl()), function (err, response, body) {
            if (err) {
                console.error('错误信息:', err);
            } else {
                var $ = cheerio.load(body);

       
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值