gpt4 book ai didi

javascript - Node Jquery 抓取问题

转载 作者:太空宇宙 更新时间:2023-11-04 02:31:59 27 4
gpt4 key购买 nike

我正在尝试在网页上运行简单的抓取,但我遇到的问题是我似乎无法使用抓取器正确选择 HTML 元素。我认为我从我的 <li> 中正确获取了属性,但我得到了 undefined我的每个对象属性的值。

我正在寻找data-name , data-addressdata-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>

最佳答案

使用 .attr() 方法,您应该使用完整的属性名称

var name = li.attr('data-name');
var address = li.attr('data-address');
var url = li.attr('data-url');

或者你可以使用

var name = li.data('name');
var address = li.data('address');
var url = li.data('url');

关于javascript - Node Jquery 抓取问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25939045/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com