位置: 编程技术 - 正文

node+express制作爬虫教程(node做爬虫)

编辑:rootadmin

推荐整理分享node+express制作爬虫教程(node做爬虫),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:nodejs爬虫框架crawler,node爬数据,nodejs爬虫框架crawler,nodejs爬虫框架crawler,node.js爬虫教程,node做爬虫,node做爬虫,node做爬虫,内容如对您有帮助,希望把文章链接给更多的朋友!

最近开始重新学习node.js,之前学的都忘了。所以准备重新学一下,那么,先从一个简单的爬虫开始吧。

什么是爬虫

百度百科的解释:

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

通俗一点讲:

把别人网站的信息给弄下来,弄到自己的电脑上。然后再做一些过滤,比如筛选啊,排序啊,提取图片啊,链接什么的。获取你需要的信息。

如果数据量很大,而且你的算法又比较叼,并且可以给别人检索服务的话,那么你的爬虫就是一个小百度或者小谷歌了

什么是robots协议

了解完什么是爬虫之后,我们再来了解一下爬虫的协议了,也就是哪些东西才已去爬。

Robots协议(也称为爬虫协议、机器人协议等)的全称是“网络爬虫排除标准”(Robots Exclusion Protocol),网站通过Robots协议告诉搜索引擎哪些页面可以抓取,哪些页面不能抓取。 

robots.txt文件是一个文本文件,它是一个协议,而不是一个命令。它是搜索引擎中访问网站的时候要查看的第一个文件。robots.txt文件告诉蜘蛛程序在服务器上什么文件是可以被查看的。

当一个搜索蜘蛛访问一个站点时,它会首先检查该站点根目录下是否存在robots.txt,如果存在,搜索机器人就会按照该文件中的内容来确定访问的范围;

如果该文件不存在,所有的搜索蜘蛛将能够访问网站上所有没有被口令保护的页面。百度官方建议,仅当您的网站包含不希望被搜索引擎收录的内容时,才需要使用robots.txt文件。如果您希望搜索引擎收录网站上所有内容,请勿建立robots.txt文件。

如果将网站视为酒店里的一个房间,robots.txt就是主人在房间门口悬挂的“请勿打扰”或“欢迎打扫”的提示牌。这个文件告诉来访的搜索引擎哪些房间可以进入和参观,哪些房间因为存放贵重物品,或可能涉及住户及访客的隐私而不对搜索引擎开放。但robots.txt不是命令,也不是防火墙,如同守门人无法阻止窃贼等恶意闯入者。

环境搭建

需要的环境:node环境

需要安装的东西: express、require、cherrio

可以在这里找到模块的用法: install request

node+express制作爬虫教程(node做爬虫)

3、cherrio 是为服务器特别定制的,快速、灵活、实施的jQuery核心实现。

通过cherrio,我们就可以将抓取到的内容,像使用jquery的方式来使用了。可以点击这里查看: install cherrio

爬虫实战

假设你的电脑里已经安装好了node和express。那么我们现在开始进行我们的爬虫小程序:

1、首先随便进入一个硬盘,假如是F盘,cmd环境下执行: express mySpider

然后你发觉你的F盘上多了一个 mySpider的文件夹和一些文件,进入文件,cmd下执行 npm install

2、然后安装我们的require ==》npm installrequire --save 、再安装我们的cherrio==》npm install cherrio --save

3、安装好后,执行npm start,如果想监听窗口的变化,可以执行:supervisor start app.js,然后在浏览器输入:localhost:,这样我们就可以在浏览器看到express的一些欢迎语啊什么的

4、打开app.js文件,你会发觉里面有一大堆东西,因为是爬虫小程序嘛,所以都是不需要滴,删,在express的API里有这段代码,粘贴在app.js里面

app.js

5、我们的require登场了。继续修改一下app.js改为:

其中request的链接就是我们要爬的网址,加入我们要爬的是博客园的网站,所以输入的是博客园的网址

6、引入cherrio,来让我们可以操做爬到的网站的内容,继续修改一下app.js

我们抓到的内容都返回到了request的body里面。cherrio可以获取所有的dom选择器。假如我们要获取导航的内容:ul的class为:post_nav_block

然后我们就可以将里面的内容显示出来了:

这个说明,我们的爬虫小程序就成功了。当然,这是一个简单的不能再简单的爬虫了。不过今天的文章就暂时介绍到这里,只是大概了解一下爬虫的过程而已。

接下来的第二篇文章会对这个爬虫进行升级,改版。比如异步啦,并发啦,定时去爬啦等等。

代码地址:

玩转NODE.JS(四)-搭建简单的聊天室的代码 Nodejs好久没有跟进了,最近想用它搞一个聊天室,然后便偶遇了socket.io这个东东,说是可以用它来简单的实现实时双向的基于事件的通讯机制。我便看

NodeJS中的MongoDB快速入门详细教程 MongoDB是一个基于分布式文件存储的数据库。由C++语言编写。旨在为WEB应用提供可扩展的高性能数据存储解决方案。MongoDB是一个介于关系数据库和非关系

node.js缺少mysql模块运行报错的解决方法 发现问题在用node.js连接数据库,运行报错:cannotfindmodule'mysql;然后在管理员和用户下分别用npm安装数据库但是都是失败:解决方法按照错误日志应该是

标签: node做爬虫

本文链接地址:https://www.jiuchutong.com/biancheng/374078.html 转载请保留说明!

上一篇:Nodejs中解决cluster模块的多进程如何共享数据问题(nodejs cicd)

下一篇:玩转NODE.JS(四)-搭建简单的聊天室的代码(node.js实战)

  • 年报纳税总额能查到吗
  • 小规模纳税人能开专票吗2023
  • 所得税 扣除
  • 核定征收企业股权转让的个人所得税
  • 冲红的发票税款计提分录要冲红吗
  • 银行借记和贷记的区别是什么
  • 银行开户登记号在哪看
  • 金税盘查发票明细
  • 个人挂靠利润如何提取
  • 经营性应收项目和经营性应付项目
  • 退去年的教育费附加
  • 一般纳税人进货收到普通发票
  • 允许税前扣除的利息支出
  • 产品成本核算过程
  • 房屋估价入账需要计算什么税款?
  • 年终奖和当月工资合并申报税
  • 企业预缴所得税的比例要求
  • 以前年度留抵用完 不能抵欠税
  • 民办非企业能开据服务发票吗?
  • 增值税开票系统收款人在哪里设置
  • 税务机关及其工作人员未按办税事项最多跑一次
  • 本月报销能用下月报销吗
  • 办理核定企业所需资料
  • 退票费报销凭证可以在机子上打印吗
  • 财付通转出的钱能还回来吗
  • 无租使用房产如何征收企业所得税
  • 季度资产总额怎么填写
  • 支付店面租金为什么是管理费用
  • 应付职工薪酬计提数是借方还是贷方
  • 苹果14出来13会下架吗
  • php实现查询功能
  • 鸿蒙系统蓝牙耳机声音小怎么办
  • 往来款作为投资款的影响
  • 劳务资质办理需要什么条件
  • php根据日期判断星座
  • 生产设备改良支出计入什么费用
  • numba报错
  • vue3.0用法
  • php通过url传递参数
  • 买保安服装
  • 进项税额转出怎么做账务处理
  • 托收的收款人是谁
  • 新准则下担保企业有哪些
  • 建厂购买材料的会计科目
  • 管理费用属于什么类
  • 融资租赁租车
  • 关联方利息支出税前扣除规定
  • 免税农产品发票怎么抵扣申报
  • 解决在sql脚本中怎么写
  • 企业与个人之间关系的理解
  • 会计中的明细科目是什么
  • 研发费用 汇算清缴
  • 置换补贴算在优惠价里吗
  • 其他应付款货方余额表示什么
  • 该商品不可进行有物流发货
  • 记账凭证的编制依据是审核无误的原始凭证
  • 零余额账户怎么对账
  • 管理费用有负数怎么结总账
  • 公司购买的商品质量问题能用12315投诉吗
  • 对公受托理财申购怎么写
  • 红字发票怎么申报增值税
  • 代扣代缴完税凭证只能次月抵扣吗
  • windows安装kafka
  • ubuntu20.04怎么安装
  • FreeBSD su Sorry问题解决办法
  • linux虚拟系统
  • xp系统如何查看系统配置
  • 微软警告:64位Win7系统或无法安装KB3033929补丁更新
  • windows7如何关闭update
  • win8应用错误怎么办
  • win10一周年版本
  • win7升级win 10
  • 使用div+css进行网页布局的三种方式
  • Android ListViewitem滑动出现删除按钮
  • 在windows 10中
  • python支持中文字符
  • python中的print语句
  • 安徽省定额发票真伪查询
  • 出口退税已提交数据撤回
  • 注册会计师和注册审计师哪个厉害
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设