本文主要介绍了用节点实现爬虫的几种简单方法,并通过实例代码进行了详细介绍。对大家学习或使用node有一定的参考价值。和有需要的朋友一起学习吧。
说到爬行动物,你可能会觉得事情很NB。可以爬小电影,羞图。对,就是这样。我也是一个节点爬虫新手。本文主要是和大家分享node的几个实现。
爬行动物的方式。第一种方法是在node,js中使用superagent request cheerio。啦啦队是必须的。它相当于jQuery的节点版本。用过jQuery的同学会非常容易上手。它
主要用于获取抓取的页面元素以及其中的数据信息。Superagent是node中一个非常方便、轻量级、渐进式的第三方客户端请求代理模块,用于请求目标页面。
在node中,http模块也可以作为客户端使用(发送请求),第三方模块请求封装了其使用方法,使得操作更加方便。以下是三者的介绍方法:
接下来,我们开始请求抓取目标页面。声明目标页面,如新浪网首页:
比如新浪首页代码。
通过superagent请求目标网站,获取网站内容,通过cheerio.load方法引入要解析的html。
cheerio中DOM的操作方式
在这里。每个(函数(索引,元素){.})用于遍历所需的元素。
返回的结果如下:
要存储文本内容,可以使用以下方法:
引入fs模块const fs=require('fs ')
引入路径模块const path=require('path ')
Node.js内置的fs模块是文件系统模块,负责读写文件。与所有其他JS模块不同,fs模块同时提供异步和同步方法。
在上面方法中调用了用于存储文本内容的mkdirs方法。
//存储数据
mkdirs(’。/content2 ',保存内容);(注意:content2是新创建的文件名;Save是回调函数)
该文本最终将存储在content2的content.txt文件中。
如果要存储图片,可以使用以下方法:
第二种方式:使用梦魇自动化测试工具。
下面介绍一下梦魇工具的用途:
电子可以让你用纯JavaScript调用Chrome丰富的原生界面来创建桌面应用。你可以把它看作Node.js的一个变种,专注于桌面应用,而不是Web服务器。
其基于浏览器的应用模式可以让各种有求必应的交互变得非常方便。
梦魇是一个基于电子的框架,旨在Web自动化测试和抓取。因为它具有和PlantomJS一样的自动化测试功能,可以模拟用户在页面上的行为,触发一些异步的数据加载。
还可以像请求库一样直接访问URL抓取数据,可以设置页面的延迟时间,所以很容易手动或者通过行为触发脚本。
const nightmare=require(' nightman ')//自动化测试包处理动态页面。
const nightmare=nightmare({ show: true })当show:true时,运行节点可以显示内置的模拟浏览器。
运行后,下载的图片将存储在image2中。
好了,文章到此结束。有问题请指正。
总结
这就是本文的全部内容。希望这篇文章的内容对你的学习或工作有一定的参考价值。谢谢你的支持。
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。