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在这个
上的表现略有不同……)我的错,没有注意选择器类型,这是一个类!我的坏,没有注意选择器类型,这是一个类!我的坏,没有注意选择器类型,这是一个类!我的坏,没有注意选择器类型,这是一个类!