美文网首页程序员
node网络爬虫

node网络爬虫

作者: Herrylo | 来源:发表于2018-07-13 12:26 被阅读42次

爬取读者文章
网易云音乐封面
pm2.5爬取
音悦台 MV

  • 系统:windows、Mac、linux 适用
  • 运行环境:node
安装nodejs
# npm install request
# npm install cheerio
示例代码:
/*
* 爬取城市PM2.5
*/

const fs = require('fs');
const request = require('request');
const path = require('path');
const cheerio = require('cheerio');

function getPM25(cityname) {
    const url = 'http://www.pm25.com/'+ cityname+'.html'
    request.head(url, function (err, res, body) {
        if(err){
            console.log(err);
        }else{
            request(url,function  (error,response,data)   {
                if(!error && response.statusCode == 200){
                    const $ = cheerio.load(data);
                    let city = $('.bi_loaction_city');  // 城市名称
                    let aqi = $('.bi_aqiarea_top .bi_aqiarea_num');   // AQI指数
                    let quality = $('.bi_aqiarea_right span') // 空气质量
                    let result = $('div .bi_aqiarea_bottom') // 空气质量描述
                    console.log(city.text() + 'AQI指数:'+ aqi.text() + ';空气质量:' + quality.eq(0).text() + result.text())
                }
            });
        }
    });
}

getPM25('wuhan')

request请求url链接,适用cheerio将获取的data中的DOM节点。
request.head 验证url地址的正确性。

使用cheerio获取节点数据,需要满足的条件是html为后端渲染生成,元素节点存在html文件中。

相关文章

网友评论

    本文标题:node网络爬虫

    本文链接:https://www.haomeiwen.com/subject/dlyjpftx.html