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' } ]