【发布时间】:2019-08-04 04:19:27
【问题描述】:
我正在从页面中提取数据,但出现此错误
TypeError: $ .find 不是函数`
我已经安装了cheerio。当我输入trm = $.find(".item-row[data-item='TRM']").find(".item-value > span"); 时出现错误,我得到了数据但出现了这个错误。
代码:
const express = require("express");
const app = express();
const https = require('https');
const cheerio = require('cheerio');
app.get('/', function(req, res) {
res.send('express test');
});
https.get('https://widgetsdataifx.blob.core.windows.net/semana/semanaindicators', (resp) => {
let data = '';
resp.on('data', (chunk) => {
data += chunk;
});
resp.on('end', () => {
var $ = cheerio.load(data);
trm = $.find(".item-row[data-item='TRM']").find(".item-value > span");
});
}).on("error", (err) => {
console.log("Error: " + err.message);
});
【问题讨论】:
-
@TusharWalzade 这几乎肯定不是问题;错误消息本身非常明显:没有
$.find()方法。可能OP只是想要$(".item-row[data-item='TRM']")等 -
@brk 是 Cheerio,一个用于节点抓取应用程序的轻量级 jQuery
-
也许“数据”不是有效的 HTML 脚手架
-
@TusharWalzade 这是 nodeJS 服务器代码,这里没有 jquery 冲突。 CheerioJS 用于替换 jquery dom 选择器
-
使用
trm = $(".item-row[data-item='TRM'] .item-value > span");是否有效?
标签: javascript html node.js express cheerio