贝壳获取小区的名称

javascript 复制代码
(async function crawlAll() {
    const allNames = new Set();
    const totalPages = 19; // 已知一共19页
    const baseUrl = window.location.origin + '/xiaoqu/xuanwu/';

    for (let page = 1; page <= totalPages; page++) {
        try {
            // 构建第 N 页的 URL
            const url = page === 1 ? baseUrl : `${baseUrl}pg${page}`;
            
            console.log(`正在抓取第 ${page} 页...`);
            
            // 模拟请求
            const response = await fetch(url);
            if (!response.ok) throw new Error('请求失败');
            
            const text = await response.text();
            const parser = new DOMParser();
            const doc = parser.parseFromString(text, 'text/html');

            // 提取小区名
            const links = doc.querySelectorAll('.xiaoquListItem .title a');
            links.forEach(link => {
                const name = link.title.trim();
                if (name) allNames.add(name);
            });

            // 延时防封
            await new Promise(resolve => setTimeout(resolve, 1000));
            
        } catch (e) {
            console.log(`第 ${page} 页跳过或失败:`, e.message);
        }
    }

    // 一次性输出所有
    const finalList = Array.from(allNames).join('\n');
    console.log('\n🏁 抓取完成!以下是完整列表:\n');
    console.log(finalList); // 一行一个,完整输出
})();

获取单页的小区名称

javascript 复制代码
// 获取所有小区列表项
const items = document.querySelectorAll('.xiaoquListItem');

// 遍历并提取小区名称
const names = [];
items.forEach(item => {
  // 从 title 属性或文本获取小区名
  const name = item.querySelector('.title a').title.trim();
  names.push(name);
});

// 一行一个输出
console.log(names.join('\n'));

// 同时返回结果方便复制
names;
相关推荐
Cc.Y5 小时前
Java零基础入门:可变字符串与包装类:StringBuilder、StringBuffer 与 通讯录管理系统实战
java·开发语言·python
paopaokaka_luck5 小时前
基于springboot+vue的智慧家政管理系统(AI问答、 WebSocket实时沟通、ECharts运营分析、订单规则与服务追踪)
java·javascript·spring boot·数据分析·echarts·mybatis
sm_926787055 小时前
RFID 标签打印的技术实现要点与二次开发实践
java·大数据·前端·c++·编辑器
阿森_dev5 小时前
2027 届毕设选题怎么选:30 个 Java 方向选题的实现难度排序
java·开发语言·spring boot·毕业设计·课程设计
by209995 小时前
C++ 多态:同一个基类接口,调用不同的函数
开发语言·c++·经验分享·多态
笔墨登场说说5 小时前
flink bin/start-cluster.sh 帮我做成开机启动
开发语言·python
Sarvartha5 小时前
Lambda 表达式和函数式接口
java·开发语言
IMPYLH5 小时前
HTML 的 <video> 元素
前端·html
小白学大数据6 小时前
拼多多反爬对抗实战:Scrapy 中间件化采集架构解析
开发语言·scrapy·中间件·架构
溪语流沙6 小时前
【每天一个CSS | Day19】流光文字与一笔写成的手写签名
前端·javascript·css