1
我想在我的網頁上運行一個簡單的刮,但我遇到的問題是,我似乎無法正確使用我的刮板選擇HTML元素。我認爲我正在從我的<li>
正確抓取屬性,但是我得到的每個對象屬性的undefined
值。Node Jquery Scraping問題
我期待抓住data-name
,data-address
和data-url
值。
scrape.js
var request = require('request');
var cheerio = require('cheerio');
request('http://personalSite.com', function (error, response, html) {
if (!error && response.statusCode == 200) {
var $ = cheerio.load(html);
$('li').each(function(i, element){
var li = $(this).contents();
var name = li.attr('name');
var address = li.attr('address');
var url = li.attr('url');
var metadata = {
name : name,
address : address,
url : url
};
console.log(metadata);
});
}
});
HTML:
<li id="v1065" data-name="Jerry's Food" data-address="5120 West 43rd Street" data-url="http://www.testsite1.com/" data-category="1"><a href="#" class="list-digital">
<span class="venue-name">Jerry's Food</span><br />
<span class="venue-address">5120 West 43rd Street</span>
</a>
</li>
<li id="v249" data-name="Accel Partners" data-address="13482 Seventh Avenue" data-url="http://www.testsite2.com" data-category="3"><a href="#" class="list-digital">
<span class="venue-name">Mike's Pizza</span><br />
<span class="venue-address">13482 Seventh Avenue</span>
</a>
</li>
嘿@zavg,謝謝你的回答,但在嘗試了你的兩條建議之後,我仍然沒有把undefined作爲我的對象屬性的值。任何想法,爲什麼這可能是?我沒有抓住正確的數據嗎? – cphill 2014-09-19 19:03:43