我正在尝试抓取分类广告搜索结果页面。
我尝试使用控制台记录所有内容,以确保得到响应,但实际上,当我实际使用cheerio查询某些内容时,我什么也得不到。例如,如果我仅使用$('.listing-group').children('section').length
来查询有多少个孩子,我在控制台登录时会得到0
而不是24
。
这就是我在做什么。请原谅长URL。
const request = require("request");
const cheerio = require("cheerio");
const app = express();
app.get("/scrape", function(req, res) {
url =
"http://classifieds.ksl.com/search/?keyword=code&category%5B%5D=Books+and+Media&zip=&miles=25&priceFrom=&priceTo=&city=&state=&sort=";
request(url, function(error, response, html) {
if (!error) {
let $ = cheerio.load(html);
let test = $("#search-results").find("section").length
console.log(test);
} else {
console.log("there has been an error");
}
res.send("Check the console.");
});
});
app.listen("8081");
console.log("check localhost:8081/scrape");
exports = module.exports = app;
我是cheerio的新手,所以我假设我可能在犯一个简单的错误,但是在检查了所有教程之后,我似乎找不到答案。
最终,我想获取页面上的每个结果(在'section'标签中找到),以显示我正在处理的个人项目的数据。
答案 0 :(得分:0)
它看起来像:
JSON.parse(html.match(/listings: (\[.*\])/)[1])