返回顶部
首页 > 资讯 > 前端开发 > node.js >node.js实现博客小爬虫的实例代码
  • 686
分享到

node.js实现博客小爬虫的实例代码

爬虫实例代码 2022-06-04 17:06:46 686人浏览 八月长安
摘要

前言 爬虫,是一种自动获取网页内容的程序。是搜索引擎的重要组成部分,因此搜索引擎优化很大程度上就是针对爬虫而做出的优化。 这篇文章介绍的是利用node.js实现博客小爬虫,核心的注释我都标注好了,可以自行理

前言

爬虫,是一种自动获取网页内容的程序。是搜索引擎的重要组成部分,因此搜索引擎优化很大程度上就是针对爬虫而做出的优化。

这篇文章介绍的是利用node.js实现博客小爬虫,核心的注释我都标注好了,可以自行理解,只需修改url和按照要趴的博客内部dom构造改一下filterchapters和filterchapters1就行了!

下面话不多说,直接来看实例代码


var Http=require('http');
var Promise=require('Bluebird');
var cheerio = require('cheerio');
var url='http://www.immaster.cn';//博客地址
function filterchapters1(html) {//解析文章链接
 var $ =cheerio.load(html);
 var post=$('.post');
 
 var content=[];
 post.each(function (item) {
 
 var postid=$(this).find('.tit').find('a').attr('href');
 
 content.push(postid);
 })
 return content;
}
function filterchapters(html) {//解析每个文章内的内容
 var $ =cheerio.load(html);
 var tit=$('.post .tit').find('a').text();
 var postid=$('.tit').find('a').attr('href');
 var commentnum=$('.comments-title').text();
 commentnum=commentnum.trim();
 // commentnum=commentnum.replace('n','');
 var content={tit:tit,url:postid,commentnum:commentnum};
 return content;
}
function getid(url){//爬取首页文章链接
 return new Promise(function (resolve,reject) {
 http.get(url,function (res) {
 var html = '';
 res.on('data',function(data) {
 html+=data;
 });
 res.on('end',function () {
 var content=filterchapters1(html)
 resolve(content);
 
 })
}).on('error',function () {
 reject(e);
 console.log('抓取出错!')
 })
})
}
function getpageAsync(url) {//爬取单个页面内容
 return new Promise(function (resolve,reject) {
 console.log('正在爬取……'+url)
 http.get(url,function (res) {
 var html = '';
 res.on('data',function(data) {
 html+=data;
 });
 res.on('end',function () {
 resolve(html);
 
 })
 }).on('error',function () {
 reject(e);
 console.log('抓取出错!')
 })
 })
}
getid(url)
 .then(function(postid){
 return new Promise(function (resolve,reject) {
 var pageurls=[];
 postid.forEach(function (id) {
 pageurls.push(getpageAsync(id));
 })
 resolve(pageurls);
 })
 })
 .then(function(pageurls){
 return new Promise.all(pageurls);//让promise对象同时开始运行
 })
 .then(function (pages) {
 var coursesData=[];
 pages.forEach(function (html) {
 var courses=filterchapters(html);
 coursesData.push(courses);
 })
coursesData.forEach(function(v){
 console.log('标题:'+v.tit+"n地址:"+v.url+"n评论:"+v.commentnum)
 })
 })

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家学习或者使用node.js实现爬虫能有所帮助,如果有疑问大家可以留言交流。

--结束END--

本文标题: node.js实现博客小爬虫的实例代码

本文链接: https://lsjlt.com/news/12968.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • node.js实现博客小爬虫的实例代码
    前言 爬虫,是一种自动获取网页内容的程序。是搜索引擎的重要组成部分,因此搜索引擎优化很大程度上就是针对爬虫而做出的优化。 这篇文章介绍的是利用node.js实现博客小爬虫,核心的注释我都标注好了,可以自行理...
    99+
    2022-06-04
    爬虫 实例 代码
  • Node.js 实现简单小说爬虫实例
    最近因为剧荒,老大追了爱奇艺的一部网剧,由丁墨的同名小说《美人为馅》改编,目前已经放出两季,虽然整部剧槽点满满,但是老大看得不亦乐乎,并且在看完第二季之后跟我要小说资源,直接要奔原著去看结局…… 随手搜了...
    99+
    2022-06-04
    爬虫 实例 简单
  • Node.js简单实现爬虫代码怎么写
    以下是一个简单的Node.js爬虫代码示例: const request = require('request'); const c...
    99+
    2023-10-26
    Node.js
  • python PyQt5 爬虫实现代码
    搞一个图形化界面还是挺酷的,是吧 安装库什么的应该不用多说了吧。。 一般来说会让你把 designer.exe(编辑图形化界面的东西,跟vb差不多) 当作外部工具导入到 pychar...
    99+
    2024-04-02
  • node.js实现简单爬虫示例详解
    目录node.js实现简单爬虫第一步第二步爬虫结果小结:node.js实现简单爬虫 工具:cheerio cheerio 是 nodejs 特别为服务端定制的,能够快速灵活的对 JQ...
    99+
    2023-05-17
    node.js简单爬虫 node.js爬虫
  • Node.js实现爬取网站图片的示例代码
    目录涉及知识点cheerio简介什么是cheerio 安装cheerio准备工作核心代码示例截图涉及知识点 开发一个小爬虫,涉及的知识点如下所示: https模块,主要是用户获取网络...
    99+
    2024-04-02
  • Python爬虫实现爬取京东手机页面的图片(实例代码)
    实例如下所示: __author__ = 'Fred Zhao' import requests from bs4 import BeautifulSoup import os from urlli...
    99+
    2022-06-04
    爬虫 实例 京东
  • python 淘宝爬虫小实例
    兄弟们,双十一剁手了吗?购物虽快乐,但是别过度了,毕竟很多降价不是真的降价,眼睛擦亮了~ 今天来试试爬一下某宝,这玩意学会了做外包的话,还是值几个钱的。 环境/模块介绍 pyt...
    99+
    2024-04-02
  • Python爬虫爬取美剧网站的实现代码
    一直有爱看美剧的习惯,一方面锻炼一下英语听力,一方面打发一下时间。之前是能在视频网站上面在线看的,可是自从广电总局的限制令之后,进口的美剧英剧等貌似就不在像以前一样同步更新了。但是,作为一个宅diao的我又...
    99+
    2022-06-04
    爬虫 美剧 代码
  • 基于nodejs 的多页面爬虫实例代码
    前言 前端时间再回顾了一下node.js,于是顺势做了一个爬虫来加深自己对node的理解。 主要用的到是request,cheerio,async三个模块 request 用于请求地址和快速下载图片...
    99+
    2022-06-04
    爬虫 实例 多页
  • java实现一个简单的网络爬虫代码示例
    目前市面上流行的爬虫以python居多,简单了解之后,觉得简单的一些页面的爬虫,主要就是去解析目标页面(html)。那么就在想,java有没有用户方便解析html页面呢?找到了一个jsoup包,一个非常方便解析html的工具呢。使用方式也非...
    99+
    2023-05-30
    网络爬虫 java jsoup
  • python 网络爬虫初级实现代码
    首先,我们来看一个Python抓取网页的库:urllib或urllib2。 那么urllib与urllib2有什么区别呢? 可以把urllib2当作urllib的扩增,比较明显的优势是urllib2.url...
    99+
    2022-06-04
    爬虫 代码 网络
  • 通过爬虫代理IP快速增加博客阅读量的示例分析
    通过爬虫代理IP快速增加博客阅读量的示例分析,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。首先题目所说的并不是目的,主要是为了更详细的了解网站的反爬机制。而真的想要更高的阅...
    99+
    2023-06-02
  • Python 爬虫多线程详解及实例代码
    python是支持多线程的,主要是通过thread和threading这两个模块来实现的。thread模块是比较底层的模块,threading模块是对thread做了一些包装的,可以更加方便的使用。 虽然...
    99+
    2022-06-04
    爬虫 多线程 详解
  • Python爬虫技术入门实例代码分析
    这篇“Python爬虫技术入门实例代码分析”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“Python爬虫技术入门实例代码分析...
    99+
    2023-07-05
  • 怎么用Python代码实现新闻爬虫
    本篇内容介绍了“怎么用Python代码实现新闻爬虫”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!新闻源:Reddit我们可以通过Reddit...
    99+
    2023-06-16
  • go colly 爬虫实现示例
    正文 贡献某CC,go源码爬虫一个,基于colly,效果是根据输入的浏览器cookie及excel必要行列号,从excel中读取公司名称,查询公司法人及电话号码。并写回到excel中...
    99+
    2024-04-02
  • web.py 十分钟创建简易博客实现代码
    一、web.py简介 web.py是一款轻量级的Python web开发框架,简单、高效、学习成本低,特别适合作为python web开发的入门框架。官方站点:http://webpy.org/ 二、web...
    99+
    2022-06-04
    十分钟 简易 代码
  • Python 爬虫IP代理池的实现
    Python 爬虫IP代理池的实现 很多时候,如果要多线程的爬取网页,或者是单纯的反爬,我们需要通过代理 IP来进行访问。下面看看一个基本的实现方法。 代理 IP ...
    99+
    2024-04-02
  • nodeJs爬虫获取数据简单实现代码
    本文实例为大家分享了nodeJs爬虫获取数据代码,供大家参考,具体内容如下 var http=require('http'); var cheerio=require('cheerio');//页面获取...
    99+
    2022-06-04
    爬虫 代码 简单
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作