zoukankan      html  css  js  c++  java
  • nodejs实现简单爬虫

    nodejs结合cheerio实现简单爬虫

     1 let cheerio = require("cheerio"),
     2     fs = require("fs"),
     3     util = require("util"),
     4     html = "",
     5     https = require('https'),
     6     list = [],
     7     buffer = null,
     8     newslist = [],
     9     url = 'https://www.yidaiyilu.gov.cn/';
    10     let req = https.request("https://www.yidaiyilu.gov.cn/",function(res){
    11       res.on("data",function(data){
    12         list.push(data)
    13       })
    14       res.on("end",function(){
    15           buffer = Buffer.concat(list)
    16           html = buffer.toString()
    17           $ = cheerio.load(html)
    18           for(var i=1;i<=3;i++){
    19             let dlist = `.con_yw_${i}`;
    20             $(".mybox .main-1").find(dlist).find('a').each((index,ele)=>{
    21               let txt = $(ele).text();
    22               let alink = $(ele).attr("href")
    23               let news = {};
    24               news["title"] = txt;
    25               news["url"] = url.substring(0,url.length-1)+alink;
    26               newslist.push(news)
    27             })
    28           }
    29           console.log(newslist)
    30       })
    31     })
    32     req.end()
    View Code

    显示结果:

     1 [ { title: '中俄加快“一管两桥”建设 打通经贸合作加速发展                                                                              瓶颈',
     2     url: 'https://www.yidaiyilu.gov.cn/xwzx/gnxw/93087.h                                                                              tm' },
     3   { title: '“穗满俄”班列高附加值商品占比增高 中欧班列加                                                                              速中俄贸易纵深发展',
     4     url: 'https://www.yidaiyilu.gov.cn/xwzx/gnxw/93099.h                                                                              tm' },
     5   { title: '服务贸易激发“一带一路”合作潜能 知识密集型高                                                                              端服务出口成亮点',
     6     url: 'https://www.yidaiyilu.gov.cn/xwzx/gnxw/93101.h                                                                              tm' },
     7   { title: '中国与欧亚经济联盟成员国签署海关信息交换协定                                                                              ',
     8     url: 'https://www.yidaiyilu.gov.cn/xwzx/gnxw/93103.h                                                                              tm' },
     9   { title: '中外资银行助力“一带一路”走深走实',
    10     url: 'https://www.yidaiyilu.gov.cn/xwzx/gnxw/93089.h                                                                              tm' },
    11   { title: '满洲里口岸站中欧班列日接车数量达20列创历史新                                                                              高',
    12     url: 'https://www.yidaiyilu.gov.cn/xwzx/gnxw/93131.h                                                                              tm' },
    13   { title: '中蒙签署建设中蒙二连浩特—扎门乌德经济合作区                                                                              协议',
    14     url: 'https://www.yidaiyilu.gov.cn/xwzx/gnxw/92906.h                                                                              tm' },
    15   { title: '【越南】中企承建河内轻轨吉灵-河东线完成运营                                                                              演练',
    16     url: 'https://www.yidaiyilu.gov.cn/xwzx/hwxw/93135.h                                                                              tm' },
    17   { title: '【柬埔寨】中企承建“一带一路”西港热电工程正式                                                                              启动',
    18     url: 'https://www.yidaiyilu.gov.cn/xwzx/hwxw/93105.h                                                                              tm' },
    19   { title: '【俄罗斯】中国化学工程签订俄最大甲醇项目实施                                                                              协议 合同金额近15亿美元',
    20     url: 'https://www.yidaiyilu.gov.cn/xwzx/hwxw/93095.h                                                                              tm' },
    21   { title: '【巴基斯坦】巴媒:并非债务陷阱 中国是在挽救                                                                              巴经济',
    22     url: 'https://www.yidaiyilu.gov.cn/xwzx/hwxw/92935.h                                                                              tm' },
    23   { title: '【布隆迪】中国援布农业示范中心项目顺利通过中                                                                              期验收',
    24     url: 'https://www.yidaiyilu.gov.cn/xwzx/hwxw/92923.h                                                                              tm' },
    25   { title: '【匈牙利】中国品牌商品(中东欧)展在布达佩斯                                                                              举行',
    26     url: 'https://www.yidaiyilu.gov.cn/xwzx/hwxw/92716.h                                                                              tm' },
    27   { title: '【埃及】本班光伏产业园将在年内满负荷运行 中                                                                              国技术助力埃及建设“太阳能村”',
    28     url: 'https://www.yidaiyilu.gov.cn/xwzx/hwxw/92726.h                                                                              tm' },
    29   { title: '【俄罗斯】中俄首座跨境公路大桥合龙 俄官员:                                                                              造福两国人民的友谊之桥',
    30     url: 'https://www.yidaiyilu.gov.cn/xwzx/hwxw/92724.h                                                                              tm' },
    31   { title: '【四川】中欧班列(成都-莫斯科)运贸一体化班                                                                              列实现每月25列稳定开行',
    32     url: 'https://www.yidaiyilu.gov.cn/xwzx/dfdt/93139.h                                                                              tm' },
    33   { title: '【四川】再推8项出入境便利措施 参与“一带一路”                                                                              建设享加急办证',
    34     url: 'https://www.yidaiyilu.gov.cn/xwzx/dfdt/93137.h                                                                              tm' },
    35   { title: '【云南】中老铁路11.3公里长通达隧道将于明年上                                                                              半年贯通',
    36     url: 'https://www.yidaiyilu.gov.cn/xwzx/dfdt/93133.h                                                                              tm' },
    37   { title: '【北京】“一带一路”国际合作发展论坛在京举行'
    38     url: 'https://www.yidaiyilu.gov.cn/xwzx/dfdt/93093.h                                                                              tm' },
    39   { title: '【江西】探索成立“一带一路”中国瓷器之路旅游联                                                                              盟',
    40     url: 'https://www.yidaiyilu.gov.cn/xwzx/dfdt/93091.h                                                                              tm' },
    41   { title: '【河南】河南省印发实施口岸建设重点工作推进方                                                                              案',
    42     url: 'https://www.yidaiyilu.gov.cn/xwzx/dfdt/92848.h                                                                              tm' },
    43   { title: '【新疆】新疆“中欧班列集拼集运模式” 将在全国                                                                              复制推广',
    44     url: 'https://www.yidaiyilu.gov.cn/xwzx/dfdt/92760.h                                                                              tm' },
    45   { title: '【福建】福建加快“丝路”电商发展 增创外贸新优                                                                              势',
    46     url: 'https://www.yidaiyilu.gov.cn/xwzx/dfdt/92756.h                                                                              tm' } ]
    View Code
  • 相关阅读:
    Jquery判断数组中是否包含某个元素$.inArray()的用法
    localStorage,sessionStorage,cookie使用场景和区别
    解决发送邮件在本地测试成功,在腾讯服务器上测试失败的问题
    phpStudy安装教程
    使用phpStudy运行伊人集项目
    使用phpStudyy运行tipask
    linux sudo命令
    PHP 判断数组是否为空的5大方法
    校验两次密码一致的js代码
    一个漂亮的php验证码类
  • 原文地址:https://www.cnblogs.com/lanxiansen/p/10991505.html
Copyright © 2011-2022 走看看