Node_初步了解(4)小爬虫

 1 var http=require('http');
 2 var cheerio=require('cheerio');
 3 var url='http://www.cnblogs.com/Lwd-linux/archive/2017/01.html';
 4 
 5 //获取
 6 function filterChapters(html){
 7     var $=cheerio.load(html);
 8 
 9     var chapters=$('.entrylistItem');
10 
11     var courseData=[];
12     chapters.each(function(){
13         var chapter=$(this);
14         var chapterTitle=chapter.find('.entrylistItemTitle').text();
15         var summary=chapter.find('.c_b_p_desc').text();
16         var chapterData={
17             chapterTitle:chapterTitle,
18             summary:summary
19         };
20         courseData.push(chapterData);
21     })
22 
23     
24     return courseData;
25 }
26 //打印
27 function printCourseInfo(courseData){
28     courseData.forEach(function(item){
29         var chapterTitle=item.chapterTitle;
30         console.log(chapterTitle '\n');
31         var summary=item.summary;
32         console.log(summary '\n');
33     })
34 }
35 
36 
37 http.get(url,function(res){
38     var html='';
39 
40     res.on('data',function(data){
41         html =data;
42     })
43 
44     res.on('end',function(){
45         var courseData=filterChapters(html);
46         printCourseInfo(courseData);
47     }).on('error',function(){
48         console.log('获取数据出错!');
49     })
50 })

 


更多专业前端知识,请上 【猿2048】www.mk2048.com

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/362772.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

VUE+ElementUI 搭建后台项目(一)

前言 之前有些过移动端的项目搭建的文章,感觉不写个pc端管理系统老感觉少了点什么,最近公司项目比较多,恰巧要做一个申报系统的后台管理系统,鉴于对vue技术栈比较熟悉,所以考虑还是使用vue技术栈来做;看过一…

ES6_入门(3)_顶层对象属性

1 //顶层对象属性:在ES5中,顶层对象的属性与全局变量是等价的.以下代码中,为顶层对象的属性赋值与全局变量的赋值,是同一件事。2 window.a10;3 console.log(window.a);//104 a40;5 console.log(w…

用 .NET 3.5 创建 ToJSON() 扩展方法

今年早些时候,我通过blog介绍了 C# 和 VB 语言的一项新的扩充特性"扩展方法"。 扩展方法让开发者可以向已有的 CLR 类型的公共契约中添加新的方法,而不需要子类化或重新编译原有的类型。通过这种做法,可以使很多有用的应用场景成为…

Java中File的getPath(),getCanonicalPath()和getAbsolutePath()之间的区别

File API在Java中非常重要,因为它使文件系统可以访问Java程序。 尽管Java的文件API丰富,但是使用它们时仍需要了解许多细节。 关于文件路径的常见查询程序员之一是getPath() , getCanonicalPath()和getAbsolutePath()方法之间的区别&#xff…

Docker容器CPU、memory资源限制

背景 在使用 docker 运行容器时,默认的情况下,docker没有对容器进行硬件资源的限制,当一台主机上运行几百个容器,这些容器虽然互相隔离,但是底层却使用着相同的 CPU、内存和磁盘资源。如果不对容器使用的资源进行限制&…

JS_理解函数参数按值传递

本文是我基于红宝书《Javascript高级程序设计》中的第四章,4.1.3传递参数小节P70,进一步理解javaSript中函数的参数,当传递的参数是对象时的传递方式。 (结合资料的个人理解,有不正确的地方,希望大家指出&…

FastReport.Net 使用字符串

OutlineExpression :Month([tb_trainlog.tb_trainlog_time])&"月"转载于:https://www.cnblogs.com/yzy666/archive/2010/05/11/1732678.html

检查Red Hat JBoss BRMS部署架构的规则和事件(第一部分)

(文章来宾与北美红帽公司高级中间件顾问约翰赫洛克 ( John Hurlocker)合着) 在本周的技巧中,我们将放慢速度,并仔细研究可能的Red Hat JBoss BRMS部署体系结构。 当我们谈论部署架构时,我们指…

CSS_选择符

2016-10-28 《CSS入门经典》第五章 以下提示注意事项: 1.如何选择使用id选择符还是class选择符:当确信id选择符在页面的唯一性时,就可以使用id选择符。 2.通用选择符在所有元素上设置样式,并不是只设置继承的默认值。 eg&…

TFS2010配置SQLServer2008R2 tf255049错误

TFS2010配置SQLServer2008R2时,配置数据库时提示 tf255049错误。转载于:https://www.cnblogs.com/ShuaiHo/archive/2010/05/12/1733731.html

位运算笔记2.0

声明: 本文为转载文章 转载于:https://www.cnblogs.com/ShineEternal/p/10853132.html

教程–带有Jersey和Spring的Java REST API设计和实现

想要在Java中使用REST? 然后您来对地方了,因为在博客文章中,我将向您介绍如何“美丽”地设计REST API,以及如何使用Jersey框架在Java中实现它。 在本教程中开发的RESTful API将为存储在MySql数据库中的播客资源演示完整的Create&a…

Vue 封装的组件生命周期钩子

export default {// ...// 在组件初始化时调用,可以简单理解为页面加载时created () {// 存在 localStorage 的缓存内容 if (localStorage.data) { this.myData JSON.parse(localStorage.data) } else { // 页面无缓存内容时,初始化数据并写入缓存 this…

使用Spring-Cloud将Spring Boot应用程序部署到Cloud Foundry

我有一个基于Spring Boot的小型应用程序 ,该应用程序使用Postgres数据库作为数据存储。 我想记录将示例应用程序部署到Cloud Foundry的步骤 。 Spring Boot参考指南中描述了一些步骤 ,但是这些指南并未充分说明如何与基于云的环境中提供的数据存储集成。…

前台js获取guid --getGuid

/** *获取id */function getGuid(){ var len32; //32长度 var radix16; //16进制 var chars0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ.split(); var uuid[],i; radixradix || chars.length; if(len){ for(i0;i<len;i){ uuid[i]cha…

ie6 下最佳 PNG透明方案【转】

“咳! 哎!….. ” 你听见了么? 这些都是大家抱怨IE6下不能实现png图片漂亮的明效果的哀叫声,的确是无奈呀….. 不过现在幸运的是,我们能够让这一切的抱怨都停止. 网络上解决IE6下Png透明解决方案有很多,例如 IE PNG Fix from TwinHelix, Javascript IE PNG Fix, Transparent …

安装svn、git等托管软件

安装软件&#xff0c;配置环境。下面我找到的别人写的&#xff0c;写的都很详细&#xff0c;做个记录。就不在这里写具体步骤了。 1.nodejs安装 使用vue-cli 搭建项目的时候需要nodejs&#xff0c;node是比较方便的&#xff0c;打包部署&#xff0c;解析vue单文件组件&#xff…

Echarts在手机端y轴数据过大,显示不全

解决办法&#xff1a; 减少y轴的margion&#xff0c;和格式化y轴 myChart.setOption({...,yAxis: {axisLabel: {margin: 2,formatter: function (value, index) {if (value > 10000 && value < 10000000) {value value / 10000 "万";} else if (va…

HBase:为客户行为生成搜索点击事件统计信息

在本文中&#xff0c;我们将探索HBase来存储客户搜索点击事件数据&#xff0c;并利用其基于搜索查询字符串和构面过滤器点击来获取客户行为信息。 我们将介绍如何使用MiniHBaseCluster&#xff0c;HBase Schema设计&#xff0c;使用HBaseSink与Flume集成以存储JSON数据。 在之…

控制HTML Input只能输入数字和小数点

转&#xff1a;https://www.cnblogs.com/esion/p/3342866.html 本文介绍三种控制在中只允许输入数字和小数点的方案。 方案1&#xff1a;通过JavaScript代码实现。 JavaScript代码如下&#xff1a; function checkNum(obj) {//检查是否是非数字值if (isNaN(obj.value)) {obj…