用node写个爬虫?看完这篇新手也会

 

从node问世之后,就不断被JavaScript的忠实追随者拿来干一些原来只有php、Python等后端语言才能干的事情,例如写个爬虫之类的。对于前端er来讲,用上一些好用的轮子,你可能十几行代码就能够写一个crawler哦~
php

 

爬虫的思路十分简单:前端

 

  1. 按照必定的规律发送 HTTP 请求得到页面 HTML 源码(必要时须要加上必定的 HTTP 头信息,好比 cookie 或 referer 之类)node

  2. 利用正则匹配或第三方模块解析 HTML 代码,提取有效数据jquery

  3. 将数据持久化到数据库中程序员

 

固然爬虫的写法千千万,下面只提供吃瓜群众都能看懂的版本~web

*文章目录*

    1. 1. *准备阶段*面试

    1.1. NPM数据库

    1.2. package.jsonnpm

    1.3. crawler.jsjson

    1. 2. *学习阶段*

    2.1. REQUEST

    2.2. CHEERIO

  1. 3. *建设阶段*

  2. 4. *实验阶段*

*准备阶段*

NPM

(npm:趁还没被yarn干掉再续一秒)

首先咱们须要经过npm安装两个模块reuqestcheerio来帮助咱们更方便地请求和 解析页面

终端cd到你的文件目录里,先装上,一下子我再各自讲它们


 

package.json

装完你能够看到你文件夹里的package.json里已经多了两个依赖项

 

crawler.js

假设你的爬虫程序主文件名叫crawler.js,咱们须要在这个文件里引入requestcheerio这两个模块
js代码为


准备阶段完成后,让咱们开始沉迷于学习阶段= =

*学习阶段*

REQUEST

request是个很是好用的针对HTTP请求的模块,简言之是对 http.request更高级的封装,口号是——“Simplified HTTP client”

request 这个模块能够帮你下载资料。使用方式:


随便来个例子,假设你以为你本身真是沉迷于学习没法自拔,是个人迷妹/痴汉一只,你想要随时监控我博客的内容,那你就这样写


不过我建议大家转去搞LV的( ͡° ͜ʖ ͡°)=>
群疯之下

(小学妹就不坑LV老师啦,欢迎你们自行寻找他的我的站~)

 

CHEERIO

cheerio模块能够在服务器端像使用Jquery的方式同样操做Dom结构,许多用法和jquery 的语法基本相同,为服务器特别定制的,快速、灵活、实施的jQuery核心实现。
简言之,是服务器端的鸡块瑞(◕ܫ◕)~

Cheerio 几乎可以解析任何的 HTML 和 XML document,灵活好用,灰常厉害
只需这么用:

基础知识学习完毕,让咱们一块儿投入到火热的社会主义建设中去~

*建设阶段*

先把request搞上去,明确要爬的页面,咱们要爬的是A站的文章区(我不想搞B站,不想被封号TAT)

咱们固然不能拍拍手,咱们要用cheerio去解析咱们刚请求成功的页面

最后爬下来的结果咱们把它放在result.json文件里


最后把这句话放在request方法里


最终你的
crawler.js看起来是这样

啊~麻麻~我用16行代码就写了个爬虫~╰(°▽°)╯
慢着,咱们先来试验下是否能成功

*实验阶段*

cd 到你的目录,敲下激动人心的以下代码


而后观察你的文件夹里是否多了个
result.json呢,它看起来应该是以下这样充满了大新闻

result.json

 

 

结论

“大清亡于闭关锁国,学习技术须要交流和资料”。 在这里我给你们准备了不少的学习资料免费获取,包括但不限于技术干货、大厂面试题系列、技术动向、职业生涯等一切有关程序员的分享

.web前端小白进阶方法笔记,学习资料,面试题和视频,项目源码免费领取

相关文章
相关标签/搜索