最新文章专题视频专题问答1问答10问答100问答1000问答2000关键字专题1关键字专题50关键字专题500关键字专题1500TAG最新视频文章推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37视频文章20视频文章30视频文章40视频文章50视频文章60 视频文章70视频文章80视频文章90视频文章100视频文章120视频文章140 视频2关键字专题关键字专题tag2tag3文章专题文章专题2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章专题3
当前位置: 首页 - 科技 - 知识百科 - 正文

如何用node实现爬虫功能

来源:动视网 责编:小采 时间:2020-11-27 19:47:28
文档

如何用node实现爬虫功能

如何用node实现爬虫功能:这次给大家带来如何用node实现爬虫功能,用node实现爬虫功能的注意事项有哪些,下面就是实战案例,一起来看一下。node是服务器端的语言,所以可以像python一样对网站进行爬取,下面就使用node对博客园进行爬取,得到其中所有的章节信息。第一步: 建立cra
推荐度:
导读如何用node实现爬虫功能:这次给大家带来如何用node实现爬虫功能,用node实现爬虫功能的注意事项有哪些,下面就是实战案例,一起来看一下。node是服务器端的语言,所以可以像python一样对网站进行爬取,下面就使用node对博客园进行爬取,得到其中所有的章节信息。第一步: 建立cra
 这次给大家带来如何用node实现爬虫功能,用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("爬取博客园首页失败")
});

即上面的过程就是在爬取博客的题目和作者。

最终后台输出如下:

这和博客园首页的内容是一致的:

相信看了本文案例你已经掌握了方法,更多精彩请关注Gxl网其它相关文章!

推荐阅读:

如何使用Vue.js计算属性与侦听器

H5中data-*属性使用方法汇总

文档

如何用node实现爬虫功能

如何用node实现爬虫功能:这次给大家带来如何用node实现爬虫功能,用node实现爬虫功能的注意事项有哪些,下面就是实战案例,一起来看一下。node是服务器端的语言,所以可以像python一样对网站进行爬取,下面就使用node对博客园进行爬取,得到其中所有的章节信息。第一步: 建立cra
推荐度:
标签: 实现 js 爬虫
  • 热门焦点

最新推荐

猜你喜欢

热门推荐

专题
Top