Cheerio无法正常工作。我究竟做错了什么?

时间:2019-08-05 18:20:51

标签: javascript web-scraping cheerio

我正在尝试抓取分类广告搜索结果页面。

我尝试使用控制台记录所有内容,以确保得到响应,但实际上,当我实际使用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'标签中找到),以显示我正在处理的个人项目的数据。

1 个答案:

答案 0 :(得分:0)

它看起来像:

JSON.parse(html.match(/listings: (\[.*\])/)[1])