nodejs结合cheerio实现简单爬虫

 let cheerio = require("cheerio"),
fs = require("fs"),
util = require("util"),
html = "",
https = require('https'),
list = [],
buffer = null,
newslist = [],
url = 'https://www.yidaiyilu.gov.cn/';
let req = https.request("https://www.yidaiyilu.gov.cn/",function(res){
res.on("data",function(data){
list.push(data)
})
res.on("end",function(){
buffer = Buffer.concat(list)
html = buffer.toString()
$ = cheerio.load(html)
for(var i=1;i<=3;i++){
let dlist = `.con_yw_${i}`;
$(".mybox .main-1").find(dlist).find('a').each((index,ele)=>{
let txt = $(ele).text();
let alink = $(ele).attr("href")
let news = {};
news["title"] = txt;
news["url"] = url.substring(0,url.length-1)+alink;
newslist.push(news)
})
}
console.log(newslist)
})
})
req.end()

显示结果:

 [ { title: '中俄加快“一管两桥”建设 打通经贸合作加速发展                                                                              瓶颈',
url: 'https://www.yidaiyilu.gov.cn/xwzx/gnxw/93087.h tm' },
{ title: '“穗满俄”班列高附加值商品占比增高 中欧班列加 速中俄贸易纵深发展',
url: 'https://www.yidaiyilu.gov.cn/xwzx/gnxw/93099.h tm' },
{ title: '服务贸易激发“一带一路”合作潜能 知识密集型高 端服务出口成亮点',
url: 'https://www.yidaiyilu.gov.cn/xwzx/gnxw/93101.h tm' },
{ title: '中国与欧亚经济联盟成员国签署海关信息交换协定 ',
url: 'https://www.yidaiyilu.gov.cn/xwzx/gnxw/93103.h tm' },
{ title: '中外资银行助力“一带一路”走深走实',
url: 'https://www.yidaiyilu.gov.cn/xwzx/gnxw/93089.h tm' },
{ title: '满洲里口岸站中欧班列日接车数量达20列创历史新 高',
url: 'https://www.yidaiyilu.gov.cn/xwzx/gnxw/93131.h tm' },
{ title: '中蒙签署建设中蒙二连浩特—扎门乌德经济合作区 协议',
url: 'https://www.yidaiyilu.gov.cn/xwzx/gnxw/92906.h tm' },
{ title: '【越南】中企承建河内轻轨吉灵-河东线完成运营 演练',
url: 'https://www.yidaiyilu.gov.cn/xwzx/hwxw/93135.h tm' },
{ title: '【柬埔寨】中企承建“一带一路”西港热电工程正式 启动',
url: 'https://www.yidaiyilu.gov.cn/xwzx/hwxw/93105.h tm' },
{ title: '【俄罗斯】中国化学工程签订俄最大甲醇项目实施 协议 合同金额近15亿美元',
url: 'https://www.yidaiyilu.gov.cn/xwzx/hwxw/93095.h tm' },
{ title: '【巴基斯坦】巴媒:并非债务陷阱 中国是在挽救 巴经济',
url: 'https://www.yidaiyilu.gov.cn/xwzx/hwxw/92935.h tm' },
{ title: '【布隆迪】中国援布农业示范中心项目顺利通过中 期验收',
url: 'https://www.yidaiyilu.gov.cn/xwzx/hwxw/92923.h tm' },
{ title: '【匈牙利】中国品牌商品(中东欧)展在布达佩斯 举行',
url: 'https://www.yidaiyilu.gov.cn/xwzx/hwxw/92716.h tm' },
{ title: '【埃及】本班光伏产业园将在年内满负荷运行 中 国技术助力埃及建设“太阳能村”',
url: 'https://www.yidaiyilu.gov.cn/xwzx/hwxw/92726.h tm' },
{ title: '【俄罗斯】中俄首座跨境公路大桥合龙 俄官员: 造福两国人民的友谊之桥',
url: 'https://www.yidaiyilu.gov.cn/xwzx/hwxw/92724.h tm' },
{ title: '【四川】中欧班列(成都-莫斯科)运贸一体化班 列实现每月25列稳定开行',
url: 'https://www.yidaiyilu.gov.cn/xwzx/dfdt/93139.h tm' },
{ title: '【四川】再推8项出入境便利措施 参与“一带一路” 建设享加急办证',
url: 'https://www.yidaiyilu.gov.cn/xwzx/dfdt/93137.h tm' },
{ title: '【云南】中老铁路11.3公里长通达隧道将于明年上 半年贯通',
url: 'https://www.yidaiyilu.gov.cn/xwzx/dfdt/93133.h tm' },
{ title: '【北京】“一带一路”国际合作发展论坛在京举行'
url: 'https://www.yidaiyilu.gov.cn/xwzx/dfdt/93093.h tm' },
{ title: '【江西】探索成立“一带一路”中国瓷器之路旅游联 盟',
url: 'https://www.yidaiyilu.gov.cn/xwzx/dfdt/93091.h tm' },
{ title: '【河南】河南省印发实施口岸建设重点工作推进方 案',
url: 'https://www.yidaiyilu.gov.cn/xwzx/dfdt/92848.h tm' },
{ title: '【新疆】新疆“中欧班列集拼集运模式” 将在全国 复制推广',
url: 'https://www.yidaiyilu.gov.cn/xwzx/dfdt/92760.h tm' },
{ title: '【福建】福建加快“丝路”电商发展 增创外贸新优 势',
url: 'https://www.yidaiyilu.gov.cn/xwzx/dfdt/92756.h tm' } ]

nodejs实现简单爬虫的更多相关文章

  1. nodejs的简单爬虫

    闲聊       好久没写博客了,前几天小颖在朋友的博客里看到了用nodejs的简单爬虫.所以小颖就自己试着做了个爬博客园数据的demo.嘻嘻......      小颖最近养了条泰日天,自从养了我家 ...

  2. 用nodejs实现简单爬虫

    前言   本喵最近工作中需要使用node,并也想晋升为全栈工程师,所以开始了node学习之旅,在学习过程中, 我会总结一些实用的例子,做成博文和视频教程,以实例形式来理解体会node的用法,所以跟小猫 ...

  3. NodeJS简单爬虫

    NodeJS简单爬虫 最近一直在追火星的一本书,然后每次都要去网站看,感觉很麻烦,于是,想起用爬虫爬取章节,务实派,说干就干! 爬取思路 1.该网站的页面呈现出一定的规律 2.使用NodeJS的req ...

  4. 一次使用NodeJS实现网页爬虫记

    前言 几个月之前,有同事找我要PHP CI框架写的OA系统.他跟我说,他需要学习PHP CI框架,我建议他学习大牛写的国产优秀框架QeePHP. 我上QeePHP官网,发现官方网站打不开了,GOOGL ...

  5. Python简单爬虫入门三

    我们继续研究BeautifulSoup分类打印输出 Python简单爬虫入门一 Python简单爬虫入门二 前两部主要讲述我们如何用BeautifulSoup怎去抓取网页信息以及获取相应的图片标题等信 ...

  6. [Java]使用HttpClient实现一个简单爬虫,抓取煎蛋妹子图

    第一篇文章,就从一个简单爬虫开始吧. 这只虫子的功能很简单,抓取到”煎蛋网xxoo”网页(http://jandan.net/ooxx/page-1537),解析出其中的妹子图,保存至本地. 先放结果 ...

  7. 简单爬虫,突破IP访问限制和复杂验证码,小总结

    简单爬虫,突破复杂验证码和IP访问限制 文章地址:http://www.cnblogs.com/likeli/p/4730709.html   好吧,看题目就知道我是要写一个爬虫,这个爬虫的目标网站有 ...

  8. Python简单爬虫入门二

    接着上一次爬虫我们继续研究BeautifulSoup Python简单爬虫入门一 上一次我们爬虫我们已经成功的爬下了网页的源代码,那么这一次我们将继续来写怎么抓去具体想要的元素 首先回顾以下我们Bea ...

  9. GJM : Python简单爬虫入门(二) [转载]

    感谢您的阅读.喜欢的.有用的就请大哥大嫂们高抬贵手"推荐一下"吧!你的精神支持是博主强大的写作动力以及转载收藏动力.欢迎转载! 版权声明:本文原创发表于 [请点击连接前往] ,未经 ...

随机推荐

  1. softmax求导、cross-entropy求导及label smoothing

    softmax求导 softmax层的输出为 其中,表示第L层第j个神经元的输入,表示第L层第j个神经元的输出,e表示自然常数. 现在求对的导数, 如果j=i,   1 如果ji, 2 cross-e ...

  2. day53_9_17 django数据库表关联,路由和视图

    一.数据库的关系建立. 在原生的数据库语句中,建立表与表之间的联系,就是添加一个字段,将联系的表的id值添加到该字段中. django所作的也就是这些. 以图书管理系统为例,图书管理系统有四张表:书籍 ...

  3. class 命名规范(三)

    抄自:https://www.jianshu.com/p/4945d9cf14e5 一.常见class关键词 布局类:header, footer, container, main, content, ...

  4. 2019 SDN上机第二次作业

    2019 SDN上机第二次作业 1.利用mininet创建如下拓扑,要求拓扑支持OpenFlow 1.3协议,主机名.交换机名以及端口对应正确,请给出拓扑Mininet执行结果,展示端口连接情况 1. ...

  5. Linux 目录详细介绍

    [常见目录说明] 目录 /bin 存放二进制可执行文件(ls,cat,mkdir等),常用命令一般都在这里. /etc 存放系统管理和配置文件 /home 存放所有用户文件的根目录,是用户主目录的基点 ...

  6. 小玩意儿之Gitlab 代码提交日志同步到禅道项目管理系统

    以前都是使用禅道官方推荐的服务器本地扫描的方式,但其实不太方便,需要跟着项目的变化,不断的在配置文件维护项目相应仓库的配置. 然后现在Web Hooks越来越普遍的情况下,想尝试一种新的方式.看了禅道 ...

  7. [开源]OSharpNS 步步为营系列 - 1. 业务模块设计

    什么是OSharp OSharpNS全称OSharp Framework with .NetStandard2.0,是一个基于.NetStandard2.0开发的一个.NetCore快速开发框架.这个 ...

  8. 大话设计模式Python实现-模板方法模式

    模板方法模式(Template Method Pattern):定义一个操作中的算法骨架,将一些步骤延迟至子类中.模板方法使得子类可以不改变一个算法的结构即可重定义该算法的某些特定步骤. 下面是一个模 ...

  9. 单个视频播放控制&默认横屏播放

    一.视频列表中控制只允许一个视频播放 // 获取DOM中所有的video标签 var videoTags = document.querySelectorAll('video'); // 控制播放的视 ...

  10. IIS Express 启用目录浏览 方法

    标签: iis / visual studio / C# / ASP.NET / .NET 522 今天刚刚使用visual studio 2013创建第一个hello world,结果就发现提示错误 ...