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

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

爬虫,大多人对于爬虫的理解都停留在使用后端语言如Python写的爬虫。可是实际上,使用客户端JavaScript有诸多后端爬虫所没法拥有的优点:php

  • 能够方便的分享给其余人用,只要对方电脑里有浏览器java

  • 因为跑在客户端,几乎能够无视对方网站的反爬虫机制git

  • 能够拥有完善的UI,无开发基础的小白也能够随意使用github

这东西应该怎么启动?

而“客户端JavaScript爬虫如何运行”问题,回答这个问题很是简单,大体有3种运行JavaScript的代码:算法

  • 存浏览器书签,以javascript:打头,点击便可运行json

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

  • 有个浏览器扩展叫作“油猴子”浏览器

这里咱们主要看下第三种,油猴脚本方式运行。app

或许你据说过油猴扩展,他在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文件。

这就能够作不少事了。(不是坏事哦~)

优点,仍是很是多的

图片描述

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

若想访问图中的原始连接能够点击这里,可能你须要先在pixiv.net注册一个帐号

经过油猴脚本自动载入,你能够作到:

彻底不影响原网站使用的状况下,利用强大的JavaScript向用户提供额外的功能

再结合一开始提到的优势:

  • 能够给任何人使用!哪怕是无开发基础的小白

  • 不会被封杀!由真实用户操做,封帐号、IP、验证码等反爬虫策略你以为会对客户端爬虫有效吗?

  • 利用HTML+CSS,构建一个漂亮的UI完美融入原网站,简直不能再简单~

忽然莫名的感受很无敌有木有?

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

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

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

图片描述

Pxer最大做用是将pixiv.net网站(相似于花瓣网)中的图片做品快速的抓取下来。它不是简单的检索img标签,而是经过必定的算法和Ajax请求来完成更为复杂的功能。

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

良好的jsDOC格式注释和详细的文档都已经为你准备好了~~

让JavaScript来的更猛烈些~~

相关文章
相关标签/搜索