Javascript 如何使用node.js按类名解析链接?
此服务器获取google第一个站点的所有链接:Javascript 如何使用node.js按类名解析链接?,javascript,jquery,node.js,Javascript,Jquery,Node.js,此服务器获取google第一个站点的所有链接: var http = require('http'); var qs = require('querystring'); var request = require("request"); var cheerio = require('cheerio'); http.createServer().listen(1337, "127.0.0.1"); function parsehl(body, callback){ $ = ch
var http = require('http');
var qs = require('querystring');
var request = require("request");
var cheerio = require('cheerio');
http.createServer().listen(1337, "127.0.0.1");
function parsehl(body, callback){
$ = cheerio.load(body);
var result = '';
links = $('a'); //jquery get all hyperlinks ???????
$(links).each(function(i, link){
var hyperlink = '\n'+ $(link).attr('href');
result = result + hyperlink ;
});
callback(result);}
request({uri: 'http://www.google.com/search?q=rio&start=00' }, function (error, response, body) {
console.log('url requested ') ;
if (!error){
parsehl(body, function(result){
console.log(result);
});
}
else
{
console.log(error);
}
});
此服务器通过标记名a获取链接。
我们需要的链接有类名l(看起来像nr 1,但实际上是l)。
我们如何通过类名获得这里的链接?
我们可能只需要一行问号就可以了。您试过了吗:
links = $('a.l');
?谢谢你的回答,是的,我们已经尝试过了,不为我们工作。好吧,你肯定做的每件事都是正确的,这就是解决问题的方法。例如,试试$('a.gbmt')-你会得到一些结果。出于某种原因,当在web浏览器中查看URL并通过节点中的request()请求它时,它看起来好像返回了不同的输出-可能google进行了某种用户代理嗅探,可能它依赖于google cookie,等等。