nodejs实现简单爬虫
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实现简单爬虫的更多相关文章
- nodejs的简单爬虫
闲聊 好久没写博客了,前几天小颖在朋友的博客里看到了用nodejs的简单爬虫.所以小颖就自己试着做了个爬博客园数据的demo.嘻嘻...... 小颖最近养了条泰日天,自从养了我家 ...
- 用nodejs实现简单爬虫
前言 本喵最近工作中需要使用node,并也想晋升为全栈工程师,所以开始了node学习之旅,在学习过程中, 我会总结一些实用的例子,做成博文和视频教程,以实例形式来理解体会node的用法,所以跟小猫 ...
- NodeJS简单爬虫
NodeJS简单爬虫 最近一直在追火星的一本书,然后每次都要去网站看,感觉很麻烦,于是,想起用爬虫爬取章节,务实派,说干就干! 爬取思路 1.该网站的页面呈现出一定的规律 2.使用NodeJS的req ...
- 一次使用NodeJS实现网页爬虫记
前言 几个月之前,有同事找我要PHP CI框架写的OA系统.他跟我说,他需要学习PHP CI框架,我建议他学习大牛写的国产优秀框架QeePHP. 我上QeePHP官网,发现官方网站打不开了,GOOGL ...
- Python简单爬虫入门三
我们继续研究BeautifulSoup分类打印输出 Python简单爬虫入门一 Python简单爬虫入门二 前两部主要讲述我们如何用BeautifulSoup怎去抓取网页信息以及获取相应的图片标题等信 ...
- [Java]使用HttpClient实现一个简单爬虫,抓取煎蛋妹子图
第一篇文章,就从一个简单爬虫开始吧. 这只虫子的功能很简单,抓取到”煎蛋网xxoo”网页(http://jandan.net/ooxx/page-1537),解析出其中的妹子图,保存至本地. 先放结果 ...
- 简单爬虫,突破IP访问限制和复杂验证码,小总结
简单爬虫,突破复杂验证码和IP访问限制 文章地址:http://www.cnblogs.com/likeli/p/4730709.html 好吧,看题目就知道我是要写一个爬虫,这个爬虫的目标网站有 ...
- Python简单爬虫入门二
接着上一次爬虫我们继续研究BeautifulSoup Python简单爬虫入门一 上一次我们爬虫我们已经成功的爬下了网页的源代码,那么这一次我们将继续来写怎么抓去具体想要的元素 首先回顾以下我们Bea ...
- GJM : Python简单爬虫入门(二) [转载]
感谢您的阅读.喜欢的.有用的就请大哥大嫂们高抬贵手"推荐一下"吧!你的精神支持是博主强大的写作动力以及转载收藏动力.欢迎转载! 版权声明:本文原创发表于 [请点击连接前往] ,未经 ...
随机推荐
- C++中的异常处理(中)
为什么要在catch中重新抛出异常? #include <iostream> #include <string> using namespace std; void Demo( ...
- jacoco统计自动化代码覆盖率
jacoco统计自动化代码覆盖率 1. 简介 1.1. 什么是Jacoco Jacoco是一个开源的代码覆盖率工具,可以嵌入到Ant .Maven中,并提供了EclEmma Eclipse插件,也可以 ...
- 详解C++ STL multiset 容器
详解C++ STL multiset 容器 本篇随笔简单介绍一下\(C++STL\)中\(multiset\)容器的使用方法及常见使用技巧. multiset容器的概念和性质 \(set\)在英文中的 ...
- CF1249F Maximum Weight Subset
CF1249F Maximum Weight Subset 洛谷评测传送门 题目描述 You are given a tree, which consists of nn vertices. Reca ...
- CF798D Mike and distribution
CF798D Mike and distribution 洛谷评测传送门 题目描述 Mike has always been thinking about the harshness of socia ...
- 合并K个有序数组-Java
package com.rao.algorithm; import java.util.Arrays; /** * @author Srao * @className MergeK * @date 2 ...
- 了解css
css指层叠样式表(Cascading Style Sheets) 1.样式定义如何显示HTML元素 2.样式通常存储在样式表中 把样式添加到HTML4.0中,是为了解决内容与表现分离的问题 外部样式 ...
- 【CF280D】k-Maximum Subsequence Sum(大码量多细节线段树)
点此看题面 大致题意: 给你一个序列,让你支持单点修改以及询问给定区间内选出至多\(k\)个不相交子区间和的最大值. 题意转换 这道题看似很不可做,实际上可以通过一个简单转换让其变可做. 考虑每次选出 ...
- 游戏引擎架构 (Jason Gregory 著)
第一部分 基础 第1章 导论 (已看) 第2章 专业工具 (已看) 第3章 游戏软件工程基础 (已看) 第4章 游戏所需的三维数学 (已看) 第二部分 低阶引擎系统 第5章 游戏支持系统 (已看) 第 ...
- xml、bean、json互转工具,可直接CV就用
1.jar包 <dependency> <groupId>dom4j</groupId> <artifactId>dom4j</artifactI ...