爬取高德地图关键字

213 阅读1分钟

爬取高德地图相关关键字信息,例:加油站

 const jsonData = Array.from(document.getElementsByClassName("poi-info-left")).map((item)=>{
    // 名字
    let name = item.getElementsByClassName('poi-title')[0].innerText;
    // 归属
    let clas = item.getElementsByClassName('poi-price')[0]?.innerText;
    // 地址
    let address= item.getElementsByClassName('poi-addr')[0].innerText
       return {
           name,
           clas,
           address
       }
})


function exportExcel (jsonData) {
     // 列标题,逗号隔开,每一个逗号就是隔开一个单元格
        let str = `名称,归属,地址\n`;
        // 增加\t为了不让表格显示科学计数法或者其他格式
        for(let i = 0 ; i < jsonData.length ; i++ ){
            for(const key in jsonData[i]){
                str+=`${jsonData[i][key] + '\t'},`;     
            }
            str+='\n';
        }
        // encodeURIComponent解决中文乱码
        const uri = 'data:text/csv;charset=utf-8,\ufeff' + encodeURIComponent(str);
        // 通过创建a标签实现
        const link = document.createElement("a");
        link.href = uri;
        // 对下载的文件命名
        link.download =  "json数据表.csv";
        link.click();
 }
exportExcel(jsonData)

1649920046(1).jpg