拿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文件。
这就能够做很多事了。(不是坏事哦~)
上风,照样异常多的
上图是一个二次元插画交换站pixiv.net。图中显现“Pxer 7”的那一个长条是底本不存在与原网站中的,而是经由过程油猴剧本自动载入JavaScript剧原本建立的。
若想接见图中的原始链接能够点击这里,能够你须要先在pixiv.net注册一个账号
经由过程油猴剧本自动载入,你能够做到:
在完整不影响原网站运用的情况下,应用壮大的JavaScript向用户供应分外的功用
再连系一开始提到的长处:
能够给任何人运用!哪怕是无开辟基本的小白
不会被封杀!由实在用户操纵,封账号、IP、验证码等反爬虫战略你以为会对客户端爬虫有用吗?
应用HTML+CSS,构建一个美丽的UI圆满融入原网站,几乎不能再简朴~
倏忽莫名的觉得很无敌有木有?
说了这么多,来个现实完成的例子
空说无凭,来看一个现实的客户端JavaScript爬虫开源项目 —— Pxer
Pxer是一个纯客户端JavaScript编写的爬虫,无需任何设置即可直接在浏览器端运转。
Pxer最大作用是将pixiv.net网站(类似于花瓣网)中的图片作品疾速的抓取下来。它不是简朴的检索img标签,而是经由过程肯定的算法和Ajax要求来完成更加庞杂的功用。
关于项目的细致描述,能够参考项目官网和Github项目主页
优越的jsDOC花样解释和细致的文档都已为你预备好了~~
让JavaScript来的更凶猛些~~