[英]My web-crawler with node.js didn't display the expected output?
這是我使用cheerio
庫的node.js
網絡爬蟲:
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
.may-blank
元素是a.title
后代 。
如果你想要a
有兩個類元素title
,並擁有一流的may-blank
,除去之前的空間.may-blank
; 對我來說,目前有36個:
$('a.title.may-blank').each(...
// ^-- no space
或者只是.may-blank
匹配167。
如果我沒有記錯的話,還有一點tpyo,標簽選擇器應該是“ title may-blank”,注意空格后還是空格,或者您應該將選擇器更改為“ ^⁼”,以便更寬恕,希望會有所幫助。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.