当尝试运行代码时,我不断收到错误$.find('.market_listing_item_name_block').each()
- undefined不是一个函数,指向find。我认为发现是cheerio中的一个功能?公平地说,我不确定我是否正确行事,这是我的代码:
var cheerio = require('cheerio')
$ = cheerio.load('#searchResultsRows')
var url = 'http://steamcommunity.com/market/search?appid=730'
xhr.get(url).success(function(r){
$.find(".market_listing_item_name_block").each(function(){
var name = $(this).find(".market_listing_item_name").text();
console.log(name)
})
})
xhr是一个基本上像AJAX一样的对象。
我之前在Chrome中做的方式是:
var url = 'http://steamcommunity.com/market/search?appid=730'
var itemDiv = $("<div></div>")
$.get(url).success(function(r){
d = $(r).find('#searchResultsRows')
itemDiv.append(d)
})
然后:
itemDiv.find(".market_listing_item_name_block").each(function(){
var name = $(this).find(".market_listing_item_name").text();
console.log(name) // would normally do other things, but for the purpose of this post, i'm just console logging the name
})
我怎么能在node / cheerio中重新创建^?我相信我显然错过了几个步骤。任何帮助都非常感谢,谢谢。
答案 0 :(得分:2)
获得元素时,需要在进行进一步选择之前使用$
包裹该元素
const $ = Cheerio.load(body)
const list = $('div.titles li')
list.each((index, li) => {
const title = $(li).find('p.title').text()
console.log(title)
})