刮刀不使用cheerio jquery返回任何值

试图刮去一个网站的头版( www.ozbargain.com ),以返回标签中的任何内容,其中包含对xbox的引用,但是没有任何内容被返回到控制台。 我相信这个问题是与if语句:包含。

var fs = require('fs'), request = require('request'), cheerio = require('cheerio'); url = 'http://www.ozbargain.com.au'; request(url, function(error, response, html) { if (!error && response.statusCode == 200) { var $ = cheerio.load(html); if($("a:contains('Xbox')").length) { //console.log(this); var el = $(this); var log = el.text(); console.log(log); } else { console.log('hey'); } } }); 

我之后的html块。 特别是,我想要一个标签;

 <h2 class="title" id="title214252"><a href="/node/214252">Free on Xbox One, Xbox 360, PS3, PS4: Tales from the Borderlands (Episode 1)</a></h2> 

包含的Cheerio语法与jQuery略有不同。 在你正在寻找的string周围提供单引号,它应该可以工作:

 $("a:contains(Xbox)") 

将select器分配给一个variables,然后调用文本方法。

 request(url, function(error, response, html) { if (!error && response.statusCode == 200) { var $ = cheerio.load(html); var $el = $("a:contains('Xbox')"); if ($el.length) { console.log($el.text()); } else { console.log('hey'); } } });