Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/433.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 我的带有node.js的网络爬虫没有';是否显示预期的输出?_Javascript_Node.js_Cheerio - Fatal编程技术网

Javascript 我的带有node.js的网络爬虫没有';是否显示预期的输出?

Javascript 我的带有node.js的网络爬虫没有';是否显示预期的输出?,javascript,node.js,cheerio,Javascript,Node.js,Cheerio,这是我的网络爬虫,使用node.js和cheerio库: var request = require('request'); var cheerio = require('cheerio'); var fs = require('fs'); var urls = []; request('http://www.reddit.com', function(err, resp, body){ if(!err && resp.statusCode == 200){

这是我的网络爬虫,使用
node.js
cheerio
库:

var request = require('request');
var cheerio = require('cheerio');
var fs = require('fs');
var urls = [];

request('http://www.reddit.com', function(err, resp, body){
    if(!err && resp.statusCode == 200){
        var $ = cheerio.load(body);
        $('a.title may-blank').each(function(){
            var url = this.attr('href');
            urls.push(url);
        });
        console.log(urls);
    }
});
但当我运行它时,我得到以下输出:

[] 
而不是数组中的25个链接

我做错了什么?


我该如何解决这个问题呢?

我猜
may blank
是一个类,所以在它前面需要一个

$('a.title .may-blank').each(...
// Here ---^
…虽然目前,
a.title.may blank
与reddit首页上的任何内容都不匹配;没有
。可以为空
元素,这些元素是
a.title
的后代

如果希望
a
元素既有类
标题
又有类
可以为空
,请删除
前面的空格。可以为空
;对我来说,目前有36个:

$('a.title.may-blank').each(...
//        ^-- no space

或者干脆
。may blank
匹配167。

我猜
may blank
是一个类,所以你需要在它前面加一个

$('a.title .may-blank').each(...
// Here ---^
…虽然目前,
a.title.may blank
与reddit首页上的任何内容都不匹配;没有
。可以为空
元素,这些元素是
a.title
的后代

如果希望
a
元素既有类
标题
又有类
可以为空
,请删除
前面的空格。可以为空
;对我来说,目前有36个:

$('a.title.may-blank').each(...
//        ^-- no space

或者干脆
。may blank
匹配167。

我猜
may blank
是一个类,所以你需要在它前面加一个

$('a.title .may-blank').each(...
// Here ---^
…虽然目前,
a.title.may blank
与reddit首页上的任何内容都不匹配;没有
。可以为空
元素,这些元素是
a.title
的后代

如果希望
a
元素既有类
标题
又有类
可以为空
,请删除
前面的空格。可以为空
;对我来说,目前有36个:

$('a.title.may-blank').each(...
//        ^-- no space

或者干脆
。may blank
匹配167。

我猜
may blank
是一个类,所以你需要在它前面加一个

$('a.title .may-blank').each(...
// Here ---^
…虽然目前,
a.title.may blank
与reddit首页上的任何内容都不匹配;没有
。可以为空
元素,这些元素是
a.title
的后代

如果希望
a
元素既有类
标题
又有类
可以为空
,请删除
前面的空格。可以为空
;对我来说,目前有36个:

$('a.title.may-blank').each(...
//        ^-- no space

<空白> <代码> > 167。

有一点TPYO,如果我没有错,标签选择器应该是“标题可以是空白”,注意空白后的空格,或者你应该把选择器改为“^”。⁼' 开始时要更加宽容,希望有帮助。 >有一点TPYO,如果我没有错,标签选择器应该是“标题可以是空白”,注意空白后的空格,或者你应该把选择器改为“^”。⁼' 开始时要更加宽容,希望有帮助。 >有一点TPYO,如果我没有错,标签选择器应该是“标题可以是空白”,注意空白后的空格,或者你应该把选择器改为“^”。⁼' 开始时要更加宽容,希望有帮助。 >有一点TPYO,如果我没有错,标签选择器应该是“标题可以是空白”,注意空白后的空格,或者你应该把选择器改为“^”。⁼' 首先是希望得到更多的原谅,希望这会有所帮助。

现在我遇到了这个错误:
TypeError:Object#没有方法“attr”
@MichaelVayvala:那将是另一个问题。(您确定您不想要
$(this).attr(…)
?这就是jQuery的功能;不过,上次我使用Cheerio时,它与jQuery在
this
上的功能略有不同。)现在我得到了这个错误:
TypeError:Object#没有方法“attr”
@MichaelVayvala:这将是另一个问题。(您确定您不想要
$(this).attr(…)
?这就是jQuery的功能;不过,上次我使用Cheerio时,它与jQuery在
this
上的功能略有不同。)现在我得到了这个错误:
TypeError:Object#没有方法“attr”
@MichaelVayvala:这将是另一个问题。(您确定您不想要
$(this).attr(…)
?这就是jQuery的功能;不过,上次我使用Cheerio时,它与jQuery在
this
上的功能略有不同。)现在我得到了这个错误:
TypeError:Object#没有方法“attr”
@MichaelVayvala:这将是另一个问题。(你确定你不想要
$(这个)。attr(…)
?这就是jQuery的特点;不过,上次我使用Cheerio时,它与jQuery在
这个
上的表现略有不同……)我的错,没有注意选择器类型,这是一个类!我的坏,没有注意选择器类型,这是一个类!我的坏,没有注意选择器类型,这是一个类!我的坏,没有注意选择器类型,这是一个类!