当前位置: 首页 > 后端技术 > Node.js

用纯客户端JavaScript写一个有趣的爬虫

时间:2023-04-03 15:38:14 Node.js

用JavaScript写爬虫听起来有点不靠谱?爬虫,大多数人对爬虫的理解停留在用Python等后端语言编写的爬虫。但实际上,使用客户端JavaScript有很多后端爬虫所不具备的优势:可以很方便的分享给他人,只要对方电脑有运行客户端的浏览器,几乎可以无视反-对方网站的爬虫机制可以有完整的UI,没有开发基础的新手也可以随意使用。这个东西应该怎么着手?至于“客户端JavaScript爬虫是如何运行的”这个问题,回答这个问题就很简单了。运行JavaScript的代码大致有3种:保存浏览器书签,以javascript:开头,点击运行,复制到浏览器控制台回车。浏览器扩展名为“OilMonkey”。这里主要看第三种,运行在油猴脚本模式下。也许你听说过Greasemonkey扩展,它在Firefox中称为Greasemonkey,在Chrome中称为Tampermonkey,你可以在浏览器的扩展商店中轻松找到它。至于它的作用,一句话,按照规则,请参考下面的例子,在不同的URL上运行一个额外的JavaScript代码://==UserScript==//@namePxer//@includehttp://万维网。pixiv.net*//==/UserScript==javascript:void((function(){document.documentElement.appendChild(document.createElement('script')).src='http://pxer-app.pea3nut.org/jsonp.js?'+(+newDate);})());==UserScript==是油猴脚本规则,上面的规则告诉油猴:当浏览器打开http://www.pixiv.net*页面,执行如下脚本,脚本内容为:通过jsonp向页面导入一个js文件。这可以做很多事情。(不是坏事~)优点还是很多的。上图是二次元插画交流网站pixiv.net。图片中显示“Pxer7”的条带在原网站中并不存在,而是通过油猴脚本自动加载JavaScript脚本创建的。如果想访问图片中的原文链接,可以点这里。可能需要在pixiv.net上注册一个账号,通过油猴脚本自动加载。你可以这样做:在完全不影响原有网站使用的情况下,利用强大的JavaScript为用户提供额外的功能,结合开头提到的优势:任何人都可以使用!就算是没有开发基础的新手也不会被ban!你认为封号、IP、验证码等反爬虫策略对真实用户操作的客户端爬虫有效吗?用HTML+CSS搭建漂亮的UI并完美融入原网站,再简单不过了~无缘无故突然觉得无敌了。说了这么多,这里有一个实际实现的例子,我们来看一个实际的客户端JavaScript爬虫开源项目——PxerGithub:https://github.com/pea3nut/Pxer项目官网:http:///pxer.pea3nut.org/Pxer是一款纯客户端的JavaScript爬虫,无需任何配置即可直接在浏览器上运行。Pxer最大的功能就是快速抓取pixiv.net网站(类似花瓣网)的图片作品。它不是简单的获取img标签,而是通过一定的算法和Ajax请求完成更复杂的功能。项目的详细说明可以参考项目官网和Github项目主页。好的jsDOC格式注释和详细文档已经为你准备好了~~https://github.com/pea3nut/Pxer让JavaScript来得更猛~~