使用cheerio解析html

开始

导入request和cheerio库并通过request获取页面...

    url = ''
    const request = require('request')
    const cheerio = require('cheerio')
    var mImages = ''
    var mTtile = ''
    var mUrl = ''
       const response = new Promise(resolve => {
        request(url,  (error, response, body)=>{    
            if (!error && response.statusCode == 200) {
                resolve(body);
                }    
        })                     
    })

cheerio实现了jQuery的一个子集,去除了所有与处理DOM无关的代码。

使用 cheerio.lody() 绑定html数据。

const $ = cheerio.load(body)   

下面就可以使用熟悉的jQuery语法进行操作,诸如 $(ul[class=main]) 或者 $(ul[class=main] li a),等..选择器都是可行的。

常用的操作

获取所有text $(ul[class=main]) .text()

获取属性值 $(ul[class=main] a) .attr(' href')

查找 $(ul[class=main]) .find(' a')

获取第一个元素 .first()

获取最后一个元素 .last()

过滤 .filter( ' a' )

遍历

        const fruits = [];
        $('ul[class=movie-list] li').each(function(i, elem){
          fruits[i] = $(this).html();
        });
        return fruits[page]         
    })