nodejs爬虫

一直想写一个爬虫玩玩,试过python,这个语法太难搞,对于深谙C、JS的人来说一不小心就写错。

还好JS的强大,nodejs可以操作各种文件流,而且nodejs可以操作DOM节点(cheerio),这样做一个简单的爬虫就比较简单了

这里我们需要配置一下环境(当然node是必须的)

express

这是nodejs的一个框架,安装的话执行

npm install -g express

安装完成之后,执行

express spider(项目名)

它会自动给你写好配置文件,配置好了之后执行

npm install

毕竟你会需要一些包,而这些包名都会在package.json里面写好

cheerio

这是nodejs的一个包,快速、灵活和精益核心jQuery专门为服务器的实现。

其实就我的理解,nodejs是不会操作DOM的。JS才是操作DOM和浏览器的。

cheerio只是写方法$,类似于jq而已

在工程中执行

npm install cheerio --save-dev

那–save-dev是什么意思呢?就是把cheerio写入你的工程,通过这些命令,我们会得到一个新的package.json。而且这些包也会写入node_modules

request

这个就是nodejs很平常的一个包了,用于发送请求的,同样,执行

npm install request --save-dev

把request写入工程

开始写爬虫

把express生成的工程的app.js里面的东西删掉,毕竟我们也不需要这么多的包。引入必要的request、cheerio,然后就可以写爬虫了

大家如果不知道request、cheerio的用法可以去npmjs官网查看

扒下来的网页用cheerio切割就可以,有些html代码用cheerio不好切,就要用到正则了

robot协定

有些网页是不能随便乱扒的

在网址上输入你想扒的网页的网址的主页+robot.txt仔细看看什么不能扒,小心违反相关法律。


nodejs爬虫
https://zhangfuli.github.io/2016/11/04/nodejs爬虫/
作者
张富利
发布于
2016年11月4日
许可协议