手机版

详细解释nodejs简单捕获工具的使用

时间:2021-08-20 来源:互联网 编辑:宝哥软件园 浏览:

前言

这是一个简单的程序。为什么我需要拿包?

其实平时写演示需要一些图片和文字资源,但是需求量比较大。这个时候我想直接去网站复制,然后把图片保存成一系列繁琐的操作。

但是现在不需要了,只要看了这篇文章,就会很轻松。该项目的Github地址:

https://github.com/xiaoqiuxiong/reptileDemo

1.在您的计算机桌面上创建一个新的reptileDemo文件夹。

然后进入文件夹,再打开文件夹目录下的cmd。如下图输入回车,连续按回车。

初始化后,您将查看文件夹中的package.json文件,其中包含包管理的一些基本配置。

2.cmd输入如下所示,然后按回车键

这一步是安装cheerio模块,主要用于解释html,使用jqueryAPI对请求返回的html进行操作。

3.cmd输入如下所示,然后按回车键

这一步是安装请求模块,主要用于发送请求进行处理。

4.在文件夹中添加一个数据文件夹来存储捕获的数据。

5.在文件夹中创建一个新的app.js文件。添加以下:

让fs=require(' fs ');让cherio=require(' cherio ');let request=require(' request ');let path=require(' path ');设I=0;设j=0;//要爬网页面的URL最初让URL=' http://www . silver . org.cn/cjyw/list _ p _ 1 . html ';让http=url.includes('https ')?require(' https '): require(' http ');函数startRequest(x) {//使用http模块向服务器发送get请求。http.get(x,function(res) {//用于存储请求网页的整个html内容。var html=var titles=[];//防止中文乱码RES . setencoding(' utf-8 ');//监听数据事件,一次取一条数据res.on ('data ',function(chunk){ html=chunk;});//监听end事件,如果得到整个网页内容的html,执行回调函数res.on('end ',function() {//使用cheerio模块解析html var $=cheerio . load(html);j=0;savedContent($);我;Console.log('捕获包的页码:' I ');//如果(I=10){ fetch page(` http://www.silver.org.cn/cjyw/list_p_${i}.html '),则限制请求的页数;} else {console.log('包捕获完成');};});}).on('error ',函数(err){ console . log(err);});}//save content函数保存的内容($) {var item=$('。lt _ coli’)[j]//title var x=$(item)。查找(' h2 ')。文本()。trim();//内容var y=$(项)。查找(' p ')。文本()。trim();//图片地址var z=$(项)。查找(' img ')。attr(' src ');//图片文件名var o=path . basename(z);//创建文件夹fs.mkdir(`。/data/${x} `,err={if(!Err) {//保存文本fs.appendfile(`。/data/$ {x}/index.txt `、` title: $ {x} \ ncontent: $ {y} `、' utf-8 ',err={ if(err){ console . log(` *)} });//保存图片请求. head (z,(err,RES,body)={ if(err){ console . log(`* * * * *请求图片失败* * *:$ { x } `);} });//将图片写入本地请求(z)。管道(fs.createwritestream(`。/data/$ { x }/$ { o } `);j;if (j=$(')。lt _ col Li’)。length-1){ savedContent($)} } })} startRequest(URL);//主程序开始运行。这个项目主要捕获一个新闻网站的新闻列表数据,包括标题、内容和图片。

6.修改6.package.json如下:

脚本' : { ' test ' : ' echo ' error :未指定测试' exit 1 ',' dev': 'node app.js' },9503.163.com

结束。

完成上述操作后,您可以使用cmd,然后输入

试映

就这样,是不是很棒?

疯狂的程序员绝不是疯狂绝望的程序员,而是脚踏实地、努力工作的程序员。当一个程序员真正做到这两点时,唯一能限制他的就是想象力。只有这样才能算是“疯狂程序员”,这种程序员会让对手极度害怕。

以上就是本文的全部内容。希望对大家的学习有帮助,支持我们。

版权声明:详细解释nodejs简单捕获工具的使用是由宝哥软件园云端程序自动收集整理而来。如果本文侵犯了你的权益,请联系本站底部QQ或者邮箱删除。