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