nodejs 小爬虫
编写爬虫示例:
var http = require('http');
var cheerio = require('cheerio'); var url = 'http://www.cnblogs.com/tianxintian22/'; function filterblogs(html) {
var $ = cheerio.load(html); var blogs = $('.day'); // [{
// dayTitle: '',
// dayCont: {
// postId: '',
// postTitle: '',
// postCont: ''
// }
// }] var blogDatas = []; blogs.each(function(item) {
var blog = $(this);
var dayTitle = blog.find('.dayTitle a').text();
var blogData = {
dayTitle: dayTitle,
dayCont: []
}; var postId = blog.find('.postCon .c_b_p_desc a').attr('href').split('p/')[1].replace('.html', '');
var postTitle = blog.find('.postTitle a').text();
var postCont = blog.find('.postCon .c_b_p_desc').text(); blogData.dayCont.push({
postId: postId,
postTitle: postTitle,
postCont: postCont
}); blogDatas.push(blogData);
}) return blogDatas; } function printBlogInfo(blogDatas) {
blogDatas.forEach(function(item) {
var dayTitle = item.dayTitle;
console.log(dayTitle + '\n'); item.dayCont.forEach(function(blog){
console.log(' 【' + blog.postId + '】' + blog.postTitle +'\n');
console.log(' ' + blog.postCont + '\n');
});
})
} http.get(url, function (res) {
var html = ''; res.on('data', function(data) {
html += data;
}); res.on('end', function() {
var blogDatas = filterblogs(html);
printBlogInfo(blogDatas);
});
}).on('error', function() {
console.log('获取博客数据出错');
})
nodejs 小爬虫的更多相关文章
- nodejs http小爬虫
本课程用nodejs写一个http小爬虫,首先科普一下,爬虫就是把网上的网页代码给弄下来,然后纳为己用.目前最大的爬虫:百度快照等的. 下面直接上代码 示例一: var http = require( ...
- nodejs .http模块, cheerio模块 实现 小爬虫.
代码: var http = require("http"); var cheerio = require("cheerio"); var url = 'htt ...
- node.js 开发简易的小爬虫
node.js 开发简易的小爬虫 最近公司开发一款医药类的软件,所以需要一些药品的基础数据,所以本人就用node.js写一个简易的小爬虫,并写记录这个Demo以供大家参考. 一.开发前的准备: 1, ...
- Java豆瓣电影爬虫——小爬虫成长记(附源码)
以前也用过爬虫,比如使用nutch爬取指定种子,基于爬到的数据做搜索,还大致看过一些源码.当然,nutch对于爬虫考虑的是十分全面和细致的.每当看到屏幕上唰唰过去的爬取到的网页信息以及处理信息的时候, ...
- 放养的小爬虫--豆瓣电影入门级爬虫(mongodb使用教程~)
放养的小爬虫--豆瓣电影入门级爬虫(mongodb使用教程~) 笔者声明:只用于学习交流,不用于其他途径.源代码已上传github.githu地址:https://github.com/Erma-Wa ...
- 放养的小爬虫--京东定向爬虫(AJAX获取价格数据)
放养的小爬虫--京东定向爬虫(AJAX获取价格数据) 笔者声明:只用于学习交流,不用于其他途径.源代码已上传github.githu地址:https://github.com/Erma-Wang/Sp ...
- Python练习,网络小爬虫(初级)
最近还在看Python版的rcnn代码,附带练习Python编程写一个小的网络爬虫程序. 抓取网页的过程其实和读者平时使用IE浏览器浏览网页的道理是一样的.比如说你在浏览器的地址栏中输入 www ...
- 「拉勾网」薪资调查的小爬虫,并将抓取结果保存到excel中
学习Python也有一段时间了,各种理论知识大体上也算略知一二了,今天就进入实战演练:通过Python来编写一个拉勾网薪资调查的小爬虫. 第一步:分析网站的请求过程 我们在查看拉勾网上的招聘信息的时候 ...
- java正则表达式之java小爬虫
这个java小爬虫, 功能很简单,只有一个,抓取网上的邮箱.用到了javaI/O,正则表达式. public static void main(String[] args) throws IOExce ...
随机推荐
- HoverTree.Model.ArticleSelect类的作用
ArticleSelect类在命名空间HoverTree.Model中可以认为是文章查询条件类,用于存放查询文章时的条件,例如HvtId就是文章的id.HvtIsShow就是文章的显示属性,当为-1是 ...
- 基础复习 关于JS
1,js是一门解释型语言,无需编译,编写js要知道当前对象有什么成员,未必所有成员都能点出来. 2,js大小写敏感,严格区分大小写. 3,弱类型语言,声明用var,字符串推荐使用单引号. 4,==要先 ...
- xamarin.ios 实现圆形进度条
using System; using UIKit; using System.Drawing; using CoreAnimation; namespace PMM { public class P ...
- 不可或缺 Windows Native (23) - C++: 虚函数
[源码下载] 不可或缺 Windows Native (23) - C++: 虚函数 作者:webabcd 介绍不可或缺 Windows Native 之 C++ 虚函数 示例1.基类CppHuman ...
- Tigase集群设置
在两台Linux服务器ddd(IP:10.3.93.212)和tsung213(IP:10.3.93.213)上安装了Tigase,要把这两台服务器组成一个Tigase集群,只需要修改这两台服务器的i ...
- Struts2例子
(1)用MyEclipse建立一个Web Project,项目名称为myStruts2,结构如下图: (2)导入struts2需要的包,我是把解压后的struts-2.3.16.3\apps\stru ...
- 关于java jni编译javac javah的问题
这篇文章是在安卓教程网http://android.662p.com那边分享过来的,文章说得还不错的,希望能够帮到大家的学习. javac 编译class文件命令,需要注意的是当类B中import类 ...
- html的head里出现了 http://c.cnzz.com/core.php
网站里出现了一段代码, 有点强迫症的我就受不了了: <html lang="en"> <head> <title>登录</title> ...
- php中opendir函数用法实例
这篇文章主要介绍了php中opendir函数用法,以实例形式详细讲述了opendir函数打开目录的用法及相关的注意事项,具有一定的参考借鉴价值,需要的朋友可以参考下 本文实例分析了php中opendi ...
- Java经典实例:使用DateFormatter来格式化日期时间
Java版本:1.8开始 import java.time.LocalDate; import java.time.LocalDateTime; import java.time.LocalTime; ...