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()
显示结果:

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' } ]
来源:https://www.cnblogs.com/lanxiansen/p/10991505.html
