node爬虫
发表于:2026-11-02 作者:千家信息网编辑
千家信息网最后更新 2026年11月02日,node是服务器端的语言,所以可以像python一样对网站进行爬取,下面就使用node对博客园进行爬取,得到其中所有的章节信息。第一步: 建立crawl文件,然后npm init。第二步: 建立cra
千家信息网最后更新 2026年11月02日node爬虫
node是服务器端的语言,所以可以像python一样对网站进行爬取,下面就使用node对博客园进行爬取,得到其中所有的章节信息。
第一步: 建立crawl文件,然后npm init。
第二步: 建立crawl.js文件,一个简单的爬取整个页面的代码如下所示:
var http = require("http");var url = "http://www.cnblogs.com";http.get(url, function (res) { var html = ""; res.on("data", function (data) { html += data; }); res.on("end", function () { console.log(html); });}).on("error", function () { console.log("获取课程结果错误!");});即引入http模块,然后利用http对象的get请求,即一旦运行,相当于node服务器端发送了一个get请求请求这个页面,然后通过res返回,其中on绑定data事件用来不断地接受数据,最后end时我们就在后台打印出来。
这只是整个页面的一部分,我们可以在此页面审查元素,发现确实是一样的
我们只需要将其中的章节title和每一小节的信息爬到即可。
第三步: 引入cheerio模块,如下:(在gitbash中安装即可,cmd总是出问题)
cnpm install cheerio --save-dev
这个模块的引入,就是为了方便我们操作dom,就像jQuery一样。
第四步: 操作dom,获取有用信息。
var http = require("http");var cheerio = require("cheerio");var url = "http://www.cnblogs.com";function filterData(html) { var $ = cheerio.load(html); var items = $(".post_item"); var result = []; items.each(function (item) { var tit = $(this).find(".titlelnk").text(); var aut = $(this).find(".lightblue").text(); var one = { title: tit, author: aut }; result.push(one); }); return result;}function printInfos(allInfos) { allInfos.forEach(function (item) { console.log("文章题目 " + item["title"] + '\n' + "文章作者 " + item["author"] + '\n'+ '\n'); });}http.get(url, function (res) { var html = ""; res.on("data", function (data) { html += data; }); res.on("end", function (data) { var allInfos = filterData(html); printInfos(allInfos); });}).on("error", function () { console.log("爬取博客园首页失败")});即上面的过程就是在爬取博客的题目和作者。
最终后台输出如下:
这和博客园首页的内容是一致的:
博客
页面
信息
模块
作者
后台
就是
文件
文章
服务器
章节
题目
首页
服务
一致
不断
事件
代码
元素
内容
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
新华互联网科技
蓝思科技飞鸽互联网
新华互联网科技学校
美国互联网保险保险科技
互联网科技战争
科技与互联网发展
互联网 科技创业
奇酷互联网科技
嘟嘟瓜互联网科技
互联网 视角下的科技创新
万达互联网科技
互联网金融和金融科技
互联网企业和科技型企业
互联网科技公司有风险吗
互联网媒体平台算高科技产业
洛阳共同富裕互联网科技有限公司
山东大美朱楼互联网科技有限公司
科技信息时代互联网发展
马化腾互联网科技教学
广州全民伙伴互联网科技有限公司
互联网科技公司排名
科技与互联网
互联网科技公司税收优惠
科技与互联网发展
金融科技 互联网金融
赫美联合互联网科技
顺玮阁互联网科技
互联网金融中的现代科技
彤创互联网科技有限公司
易租星互联网科技有限公司