如果你不会Python语言,正好又是一个node.js小白,看完这篇文章之后,一定会觉得受益匪浅,感受到自己又新get到了一门技能,如何用node.js从零开始去写一个简单的爬虫,十分钟时间就能搞定,步骤其实很简单。node的安装就不一步步的解释了,如果不会可以自行百度。在node开大环境下开始第一步:
1:在d盘新建一个文件夹WebSpider
![f7a9614d9d24ecf8d7603a1a04cd8884.png](https://i-blog.csdnimg.cn/blog_migrate/e1ebf575bbbbef2600d8524407ddeeb3.jpeg)
2:cmd右键以管理员模式打开,进入d盘,cd 进入刚刚创建的文件夹里面
cd WebSpider
![7a82dbfe86a101de93f2435f5fd8e5d0.png](https://i-blog.csdnimg.cn/blog_migrate/7761dba3aa76c0c04cf783393692e2b7.jpeg)
3:mkdir FirstSpider (创建一个FirstSpider文件夹)
![660b215f7967f86e340c6f15245a7edf.png](https://i-blog.csdnimg.cn/blog_migrate/358206868251373daadc01c6087de7a7.jpeg)
创建FirstSpider文件夹之后的目录
![bed284a7f7401191ba72c18ef92742e1.png](https://i-blog.csdnimg.cn/blog_migrate/4d21c1735054f044881966e83f7b2336.jpeg)
4:进入刚刚创建的文件夹里面 cd FirstSpider
![03c3b8cb97c763be60e25e92d78e52a3.png](https://i-blog.csdnimg.cn/blog_migrate/da9f794e286185ec41b97f1afff22aec.jpeg)
5: npm init (初始化工程)
此时需要填写一些项目信息,你可以根据情况填写,当然也可以一路回车。
![b7458af6b33dddf2609c78ddf53b8e4b.png](https://i-blog.csdnimg.cn/blog_migrate/b722b063636bcc7191026f6af9af9c90.jpeg)
创建完项目后,会生成一个package.json的文件。该文件包含了项目的基本信息。
![8b46e5a8de1135a4906729e98375eb90.png](https://i-blog.csdnimg.cn/blog_migrate/2bb655f0f7c95987a821d58f7ea81cc3.jpeg)
![4b1587386c963bf062d4a3add2401782.png](https://i-blog.csdnimg.cn/blog_migrate/ad0cfe3e7803b173e37962106c12dbf5.jpeg)
6:安装第三方包(后面程序会直接调用包的模块)
说明:由于http模块、fs模块都是内置的包,因此不需要额外添加。这里安装cheerio包,和request包。request 用于发起http请求,cheerio 用于将下载下来的dom进行分析和提取 你可以把它当做jQuery来用在cmd中,cd进入cd FirstSpider文件夹,然后执行命令:
npm install cheerio –save
![fcdea41cd2b41eef4066ffdc80c8d71e.png](https://i-blog.csdnimg.cn/blog_migrate/87e3660c0dd5386667fb8852999e8391.jpeg)
安装完cheerio包后,继续安装request包, npm install request –save
![be1df5283252a4db6855b1ef0dd49ed2.png](https://i-blog.csdnimg.cn/blog_migrate/d9a191e5de0c72fc4c6ca1c2386cce22.jpeg)
说明:npm(nodejs package manager),nodejs包管理器; –save的目的是将项目对该包的依赖写入到package.json文件中。
如果想要将爬取的数据和图片分类放好,那就事先建立一个data和image文件夹准备着。在FirstSpider文件夹下新建。
创建子文件夹data(用于存放所抓取的新闻文本内容)创建子文件夹image(用于存放所抓取的图片资源)创建一个first_spider文件
整个项目的目录结构如下图所示:
![5ec5a3ed200e430aa5f1732346201deb.png](https://i-blog.csdnimg.cn/blog_migrate/c4f8994f58bf222964569e40d3646d70.jpeg)
7:重点内容,打开first_spider,并一行一行的敲代码,如果你不想写代码的话,去网站上找一些代码过来进行测试即可。
var request = require('request')var cheerio = require('cheerio')for(var i = 1;i<4;i++){ request('http://www.souweixin.com/personal?t=41&p='+i,function(error,response,body){ if(!error && response.statusCode == 200){ $ = cheerio.load(body) var links = []; $(".boldBorder > a").each(function(i,item){ links.push($(this).attr("href")) }) for(var i=0;i
8:运行程序,命令很简单哦,在cmd命令行下,cd 到你创建工程文件夹FirstSpider下,然后 node first_spider.js 程序就跑起来了。
![092008c430f63123eeb323fe16fe0b3e.png](https://i-blog.csdnimg.cn/blog_migrate/16fcea72bdb5b3162852840c39b55bd4.jpeg)
9:注意:如果这个时候遇见这样的bug
![114ff3205111587f0bdaf7d1e82b7c08.png](https://i-blog.csdnimg.cn/blog_migrate/465a087738704902b8284877e9e9c40b.jpeg)
80端口被占用,这里额外的提一下:解决端口被占用的问题:https://www.jianshu.com/p/a7fc19b0c2f1,找到这些端口,一个个关闭即可。
![0afd773cf67b94fae8113c85ef1c5f15.png](https://i-blog.csdnimg.cn/blog_migrate/20d63f4e77a70359d9ddb6c7cea9cad5.jpeg)
原文作者:祈澈姑娘 技术博客:https://www.jianshu.com/u/05f416aefbe1
90后前端妹子,爱编程,爱运营,文艺与代码齐飞,魅力与智慧共存的程序媛一枚。