项目中一直用不到node,但是觉得node这门以js作为编程基础的服务端语言很有意思,用它可以写一些接口,写个爬虫.这是一门基础篇,看了一段时间文档后写个爬虫增强一下node的认识吧
爬虫的原理感觉很简单,大致分为一下三步
-
获取到对应网站的数据(也就是html代码)
-
筛选出你需要的数据(比如用户的信息,图片的地址)
-
下载或者整理出你所要的资源写入数据库
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33 1var http=require('http')
2var fs =require('fs')
3var path=require('path')
4http.get('http://jspang.com/',function(res){
5 var content=''
6 res.on('data',function(txt){
7 content+=txt
8 })
9
10 res.on('end',function(){
11 var reg=/data-src="(.*?\.jpg)"/img;//匹配出图片地址
12 // var data=content.match(reg);
13 // fs.writeFile('./test.txt',data,function(){
14 // console.log('写入成功')
15 // })
16
17 var filename=null;
18 //循环出图片地址
19 while(filename=reg.exec(content)){
20 getImage(filename[1])
21 }
22 })
23})
24//下载图片
25function getImage(url){
26 var obj=path.parse(url);
27 var name=obj.base;
28 var filestream=fs.createWriteStream('./img/'+name);
29 http.get(url,function(res){
30 res.pipe(filestream)
31 })
32}
33
当然这只是个最简单的demo了,下面会持续更新进阶版的!
市面上的框架千变万化,只有基础知识比较好才能够学习的更好,而且需要多学习一下性能优化,网络,安全这方面,因为在大公司里面,其实重要的东西并不是你能够做的多好看,而是你的安全性那些做的好不好,一不小心信息泄露了,那就会导致很多无法想象的事情。