javascript - 如何修改这个程序,我想要下一页链接

标签 javascript node.js asynchronous

var request = require('request');
var cheerio = require('cheerio');
var path = require('path');

var page = 1;
var proxiedRequest = request.defaults({ proxy: "http://jpyoip01.mgmt.ericsson.se:8080" });

down();

function down(){
    var url = 'http://tommyton.tumblr.com';
    (function woker(url){
        console.log(url);
        proxiedRequest.get(url, function(err, response, body){
            $ = cheerio.load(body);
            $('.photo-wrapper-inner img').each(function() {
                //console.log($(this).attr('src'));
            });

            var nextPage = $('#pagination a[class=next]').attr('href');
            //console.log(nextPage);

            woker(url + nextPage);
        });
    })(url);
}

输出:

    http://tommyton.tumblr.com
    http://tommyton.tumblr.com/page/2
    http://tommyton.tumblr.com/page/2/page/3
    http://tommyton.tumblr.com/page/2/page/3undefined
    http://tommyton.tumblr.com/page/2/page/3undefinedundefined
    http://tommyton.tumblr.com/page/2/page/3undefinedundefinedundefined

预期结果:

        http://tommyton.tumblr.com
        http://tommyton.tumblr.com/page/2
        http://tommyton.tumblr.com/page/3
        http://tommyton.tumblr.com/page/4
        http://tommyton.tumblr.com/page/5
        http://tommyton.tumblr.com/page/6

最佳答案

function down(){
    var url = 'http://tommyton.tumblr.com';
    (function woker(url2){
        console.log(url2);
        proxiedRequest.get(url2, function(err, response, body){
            $ = cheerio.load(body);
            $('.photo-wrapper-inner img').each(function() {
                //console.log($(this).attr('src'));
            });

            var nextPage = $('#pagination a[class=next]').attr('href');
            //console.log(nextPage);

            woker(url + nextPage);
        });
    })(url);
}

关于javascript - 如何修改这个程序,我想要下一页链接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31691935/

相关文章:

javascript - 如何将记录与 lawnchair js 链接

javascript - 重新加载组件的 React.JS 问题

javascript - 为什么我需要避免在循环中使用 try-catch-finally

node.js - RESTful API设计: token auth

node.js - 查找安装间接依赖项的原因

html - 异步图像加载jquery

javascript - 来自 C 代码的异步 javascript 库调用完成得太晚

javascript - 将 div 中的数字从数字转换为整数

javascript - Fitbit OAuth API 请求,签名无效

c# - 这是否正确使用了Socket类的异步功能?