nodejs获取https://ty.58.com/shengyizr/0/中id=“house-list-wrap“下面每个li标签中的class=“title“的标签内容 如果存在下一页继续采集下

const axios = require('axios');
const cheerio = require('cheerio');

const url = "https://ty.58.com/shengyizr/0/";
const pageCount = 5; // 设置采集页数
let titles = []; // 存储标题的数组

// 定义函数用于采集一页内容并递归调用该函数直到采集所有页面为止
function getTitles(url, pageNum) {
  if (pageNum > pageCount) { // 判断是否采集完成
    console.log(titles);
    return;
  }
  axios.get(url).then(response => {
    const $ = cheerio.load(response.data);
    $("#house-list-wrap li").each(function() {
      const title = $(this).find(".title").text();
      titles.push(title);
    });
    const nextPageUrl = $(".pager a.next").attr("href");
    if (nextPageUrl) { // 判断是否还有下一页
      const nextPageNum = parseInt(nextPageUrl.match(/\d+/g)[1]);
      getTitles(nextPageUrl, nextPageNum); // 递归调用该函数处理下一页
    } else {
      console.log(titles);
    }
  }).catch(error => {
    console.log(error);
  });
}

getTitles(url, 1); // 启动采集任务

猜你喜欢

转载自blog.csdn.net/zhtxilyj/article/details/130071790