当使用Cheerio和NodeJS进行search时,Object#<Object>没有方法'attr'
当在Node JS中跟随一个关于网页抓取的教程时,我在terminal中运行这个脚本时遇到了这个问题:
Object #<Object> has no method 'attr'
这是我正在使用的脚本:
var request = require('request'), cheerio = require('cheerio'), urls = []; request('http://www.reddit.com', function (err, resp, body) { if (!err && resp.statusCode == 200) { var $ = cheerio.load(body); $('a.title', '#siteTable').each(function() { var url = this.attr('href'); urls.push(url) }); console.log(urls); } });
任何想法如何解决这个脚本,所以它不会抛出一个错误? 任何帮助将非常感激!
范围对象this
不是默认的jQuery对象。
var url = this.getAttribute("href"); // or var url = $(this).attr("href");