Node.js爬虫初试———安居客的数据爬取

描述:

爬取小试

爬取的数据段

Node.js爬虫初试———安居客的数据爬取_第1张图片

定位的数据段

Node.js爬虫初试———安居客的数据爬取_第2张图片

 

代码:


const http = require('https')
const fs = require('fs')
//引入node.js内置的文件模块 实现数据爬取后的输出

const cheerio = require('cheerio')
//cheerio是nodejs的抓取页面模块,为服务器特别定制的,需要npm
//快速、灵活、实施的jQuery核心实现。适合各种Web爬虫程序。

const url = 'https://bj.zu.anjuke.com/'
//输入所要爬取的网站

http.get(url, (res) => {
    
    res.setEncoding('utf8')
    let result = ''
    res.on('data', (chunk) => {
        result += chunk
    })
    res.on('end', (chunk) => {
        let data = spider(result)
        // console.log(data)
        fs.writeFileSync('./data/ajk.json', JSON.stringify(data))
    })
})


//主要 处理所定位爬取的数据
function spider(html){
    let $ = cheerio.load(html,{decodeEntities:false})//decide 处理字符
    let dataList = []
    $('.zu-itemmod').each((i, item) => {
        let $item = $(item)
        
        //  头部数据
        let title = $item.find('img').attr('alt')

        //  img地址
        let img = $item.find('img').attr('src')

        //  描述信息
        let desc_item = $item.find('.details-item').html()

        //  价格数据
        let price = $item.find('.zu-side strong').html()

        dataList.push({ title, img , desc_item , price })
    })
    return dataList
}

爬取结果:

Node.js爬虫初试———安居客的数据爬取_第3张图片

你可能感兴趣的:(学习-总结-转载,Js,H5)