jquery - 在nodeJS中使用爬虫并没有给我任何结果,但是当我在浏览器中尝试相同的代码时,它给出了。我的代码有什么问题吗?

标签 jquery node.js web-crawler cheerio

我在nodeJS中使用爬虫如下

var c = new Crawler({
    maxConnections : 10,
    callback : function (error, result, $) {}
});

c.queue([{
    uri: 'https://in.linkedin.com/nhome',
    jQuery: true,
    callback: function (error, result,$) {
        var str=[];
        $("#directory>.primary>li:not(.country-search)>a",result.body).each(function(){
            var tmpp=$(this).attr("href");
            str.push(tmpp);
        });
        console.log(str.length);     
    }
]);

返回0

但是如果我转到“https://in.linkedin.com/nhome/ ”并在 firebug 中尝试以下代码

var str=[];
        $("#directory>.primary>li:not(.country-search)>a").each(function(){
            var tmpp=$(this).attr("href");
            str.push(tmpp);
        });
        console.log(str.length);

它工作正常并返回 27。

我的代码哪里做错了

最佳答案

问题出在 uri

链接https://in.linkedin.com/nhome 错误的是正确的 uri 是 https://in.linkedin.com/nhome/

如果没有“/”,它会重定向到另一个页面,我的报废代码无法正常工作。

关于jquery - 在nodeJS中使用爬虫并没有给我任何结果,但是当我在浏览器中尝试相同的代码时,它给出了。我的代码有什么问题吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31183822/

相关文章:

javascript - 使用 jQuery 更改菜单选项宽度

php - 我正在尝试从数据库中提取结果,并在链选择框中实际选择结果,该框的结果是从数据库中提取的

javascript - async.each 与 async.every 之间的区别?

node.js - 如何使用express将参数 “username”传递到 "/"路由器?

node.js - 找不到模块 'E:\node_modules\sqlite3\lib\binding\napi-v6-win32-x64\node_sqlite3.node'

java - java中的网络爬行

c# - 检查文本框是否有值,使另一个文本框成为必需的

javascript - 如何从 mvc Controller 获取列表以使用 jquery ajax 查看

java - 如果我更新 url 过滤器文本,我需要从命令行调用什么 Nutch 命令

python - 暂停和恢复自包含的 scrapy 脚本