node JS爬虫基础篇

项目中一直用不到node,但是觉得node这门以js作为编程基础的服务端语言很有意思,用它可以写一些接口,写个爬虫.这是一门基础篇,看了一段时间文档后写个爬虫增强一下node的认识吧

爬虫的原理感觉很简单,大致分为一下三步

  1. 获取到对应网站的数据(也就是html代码)
  2. 筛选出你需要的数据(比如用户的信息,图片的地址)
  3. 下载或者整理出你所要的资源写入数据库
var http=require('http')
var fs  =require('fs')
var path=require('path')
http.get('http://jspang.com/',function(res){
    var content=''
    res.on('data',function(txt){
        content+=txt
    })

    res.on('end',function(){
        var reg=/data-src="(.*?\.jpg)"/img;//匹配出图片地址
        // var data=content.match(reg);
        // fs.writeFile('./test.txt',data,function(){
        //     console.log('写入成功')
        // })

        var filename=null;
        //循环出图片地址
        while(filename=reg.exec(content)){
            getImage(filename[1])
        }
    })
})
//下载图片
function getImage(url){
    var obj=path.parse(url);
    var name=obj.base;
    var filestream=fs.createWriteStream('./img/'+name);
    http.get(url,function(res){
        res.pipe(filestream)
    })
}
当然这只是个最简单的demo了,下面会持续更新进阶版的!

市面上的框架千变万化,只有基础知识比较好才能够学习的更好,而且需要多学习一下性能优化,网络,安全这方面,因为在大公司里面,其实重要的东西并不是你能够做的多好看,而是你的安全性那些做的好不好,一不小心信息泄露了,那就会导致很多无法想象的事情。

    原文作者:前端小布
    原文地址: https://segmentfault.com/a/1190000013629643
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞