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

拿JavaScript写爬虫,听起来貌似有些不靠谱?

爬虫,大多人关于爬虫的明白都停留在运用后端言语如Python写的爬虫。然则现实上,运用客户端JavaScript有诸多后端爬虫所没法具有的上风:

  • 能够轻易的分享给其他人用,只需对方电脑里有浏览器

  • 因为跑在客户端,险些能够疏忽对方网站的反爬虫机制

  • 能够具有圆满的UI,无开辟基本的小白也能够随便运用

这东西应当怎样启动?

而“客户端JavaScript爬虫怎样运转”题目,回复这个题目异常简朴,大抵有3种运转JavaScript的代码:

  • 存浏览器书签,以javascript:打头,点击即可运转

  • 复制到浏览器console中按回车

  • 有个浏览器扩大叫做“油猴子”

这里我们重要看下第三种,油猴剧本体式格局运转。

也许你据说过油猴扩大,他在Firefox叫做Greasemonkey在Chrome叫做Tampermonkey,你能够轻松的在浏览器的扩大市肆找到它。而关于其自身有何作用,一句话

根据划定规矩,在差别的URL分外运转一段JavaScript代码

请参考下面的例子:

// ==UserScript==
// @name          Pxer
// @include       http://www.pixiv.net*
// ==/UserScript==
javascript:void((function() {
    
    document.documentElement.appendChild(
        document.createElement('script')
    ).src='http://pxer-app.pea3nut.org/jsonp.js?'+(+new Date);

})());

==UserScript==是油猴剧本的划定规矩,上面的划定规矩通知油猴:

当浏览器翻开http://www.pixiv.net*的页面时,实行下面的剧本

而剧本的内容则是:经由过程jsonp的体式格局向页面引入一个js文件。

这就能够做很多事了。(不是坏事哦~)

上风,照样异常多的

《用纯客户端JavaScript来写一个风趣的爬虫》

上图是一个二次元插画交换站pixiv.net。图中显现“Pxer 7”的那一个长条是底本不存在与原网站中的,而是经由过程油猴剧本自动载入JavaScript剧原本建立的。

若想接见图中的原始链接能够点击这里,能够你须要先在pixiv.net注册一个账号

经由过程油猴剧本自动载入,你能够做到:

完整不影响原网站运用的情况下,应用壮大的JavaScript向用户供应分外的功用

再连系一开始提到的长处:

  • 能够给任何人运用!哪怕是无开辟基本的小白

  • 不会被封杀!由实在用户操纵,封账号、IP、验证码等反爬虫战略你以为会对客户端爬虫有用吗?

  • 应用HTML+CSS,构建一个美丽的UI圆满融入原网站,几乎不能再简朴~

倏忽莫名的觉得很无敌有木有?

说了这么多,来个现实完成的例子

空说无凭,来看一个现实的客户端JavaScript爬虫开源项目 —— Pxer

Pxer是一个纯客户端JavaScript编写的爬虫,无需任何设置即可直接在浏览器端运转。

《用纯客户端JavaScript来写一个风趣的爬虫》

Pxer最大作用是将pixiv.net网站(类似于花瓣网)中的图片作品疾速的抓取下来。它不是简朴的检索img标签,而是经由过程肯定的算法和Ajax要求来完成更加庞杂的功用。

关于项目的细致描述,能够参考项目官网Github项目主页

优越的jsDOC花样解释和细致的文档都已为你预备好了~~

让JavaScript来的更凶猛些~~

    原文作者:花生PeA
    原文地址: https://segmentfault.com/a/1190000008929700
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞