最近在学node,这里简单记录一下。首先是在linux的环境下,关于node的安装教程: https://github.com/alsotang/node-lessons/tree/master/lesson0我看的教程里面还用来express框架 键入 $ npm ...
最近在学node,这里简单记录一下。
首先是在linux的环境下,关于node的安装教程: https://github.com/alsotang/node-lessons/tree/master/lesson0
我看的教程里面还用来express框架 键入 $ npm install express --registry=https://registry.npm.taobao.org 来安装
这样基本的环境就弄好了,装好以后来创建项目,过程如下:
1.随便建一个文件夹,比如说是lesson3
2.初始化(键入 $ npm init ),这里要让你设置 packag.json 文件,这个文件是用来记录项目的信息的,项目名,作者什么的,如果你没什么好写的就一路回车
3.安装依赖包,(键入 $ npm install ---save packagename)
,没有指定的情况下,默认从 npm 官方安装,上次我们是从淘宝的源安装的。二是多了个 --save
参数,这个参数的作用,就是会在你安装依赖的同时,自动把这些依赖写入 package.json
爬虫需要 superagent 和 cheerio
superagent(http://visionmedia.github.io/superagent/ ) 是个 http 方面的库,可以发起 get 或 post 请求
cheerio可以理解为node端的jquery,爬虫的爬下来网页以后用类似jquery选择器的方式就能对dom树进行操作
4.写应用逻辑
逻辑也是三步:
4.1加载依赖
4.2处理爬虫
4.3监听端口
以cnode为例,https://cnodejs.org/ 可以先到页面上右键然后审查元素看看自己想要扒什么
新建一个app.js文件,然后上代码:
//请求依赖var express = require('express') ;var superagent = require('superagent') ;var cheerio = require('cheerio') ;var sys = require('sys') ;var app = express() ;//爬虫部分app.get('/',function(req,res,next){ superagent.get('https://cnodejs.org/') .end(function(err,sres){ if(err){ return next(err) ; } var $ = cheerio.load(sres.text) ; var items = [] ; //利用cheerio来获取页面信息,each函数来遍历所有节点 var context = $('#topic_list .cell') ; context.each(function(idx,element){ console.error(this) ; //作者名是从链接里扒出来的,所以用split处理一下 var name = $(this).find('.user_avatar').attr('href').split('/')[2] ; var element = $(this).find('.topic_title') ; obj = this ; items.push({ title:element.attr('title'), href:element.attr('href'), author:name }); }); //将结果输出到页面 res.send(items) ; });});//监听部分,监听3000端口app.listen(3000,function(req,res){ console.log('3000 is running');});
原标题:node的简单爬虫
关键词:
*特别声明:以上内容来自于网络收集,著作权属原作者所有,如有侵权,请联系我们:
admin#shaoqun.com
(#换成@)。