纯客户端JavaScript编写的pixiv.net爬虫,上线一周内被使用上万次!
不仅人人可用,且代码经过精心注释可供参考~
文档尚未完善
- 官网:pxer.pea3nut.org
- 教程:起步:Pxer
- 教程:安装教程
- 教程:使用手册
- 安装:通过Tampermonkey浏览器扩展安装Pxer 开发版(推荐) / 稳定版
稳定版几乎支持市面上所有主流浏览器,而开发版则拥有更新的功能及更高的性能!
本篇文档面向拥有一定开发能力的开发人员,若仅仅是想使用Pxer请直接参考起步:Pxer即可,无需阅读此文档。
Pxer是一个纯客户端JavaScript编写的爬虫,无需任何配置即可直接在浏览器端运行。
Pxer最大作用是将pixiv.net网站(类似于花瓣网)中的图片作品快速的抓取下来。它不是简单的检索img标签,而是通过一定的算法和Ajax请求来完成更复杂的功能。
你可以通过下面流程快速体验Pxer的强大功能:
- 在Pixiv网站登陆注册一个账号
- 打开“机器猫 - 哆啦A梦”的图片检索页面
- 在浏览器运行pxer.user.js代码(将代码文件复制到控制台运行或存成书签点击运行)
- 操作页面中PxerUI界面
Pxer开发过程中十分注意代码可读性,且使用jsDOC进行良好的注释进一步增强可读性。
Pxer使用ECMAScript 6进行开发,如果你正在学习它,那么Pxer或许可以带给你许些启发。
如果你十分苦恼于寻找一个个人项目练手,或许阅读Pxer源码后你也会有兴趣来写一个很酷的JavaScript爬虫~~
Pxer启动的本质是将js文件载入进网页页面,阅读/pxer-dev.user.js
的代码就可以发现:它做的仅仅是将项目的/jsonp.js
文件载入进页面。
而Pxer的爬取功能则是利用了Ajax通过一定的算法批量的去请求特定页面,然后解析HTML筛选数据。有时碍于Ajax的限制,Pxer在请求过程中会使用一些较为“巧妙”的方式来规避。
Pxer使用原生的Node.js来构建,但是实际上,你无需任何Node.js基础依然可以阅读Pxer的源码。
Pxer在开发过程中避免对Node产生依赖性使得仅有Js基础的初学者也可以无障碍的阅读Pxer源码。
- 纯客户端JavaScript实现的爬虫
- 良好的jsDOC格式注释
- 完全面向对象的模块化设计
- 使用原生Nodejs进行构建
- 主程序使用原生ES6实现,无任何第三方依赖
- 使用mocha进行单元测试
- 维护近3年,迭代超过20个版本
项目目录参考:
pxer-app
build - 构建目录,存放自动化构建文件
dist - 稳定版释出目录
src - 开发版、Pxer源码目录,与Node.js解耦!
pxer-dev.user.js - 开发版的Pxer运行文件
pxer-master.user.js - 稳定版的Pxer运行文件
jsonp.js - pxer-app入口文件
- 安装依赖
npm i
- 运行本地开发服务器,监视文件改动并自动编译css和释出文件
npm run dev
- 修改入口文件
- 方法一:在Tampermonkey中修改入口文件的PXER_URL为本地服务器地址(默认为http://127.0.0.1:8125/ )
- 方法二(推荐):访问 http://127.0.0.1:8125/pxer-dev-local.user.js (开发版) http://127.0.0.1:8125/pxer-local.user.js (稳定版) 安装自动生成的本地开发入口文件
npm run build
Pxer可以使用Apache,Nginx等常见HTTP服务器进行部署,也可以使用pm2+express进行部署。
使用pm2部署:
- 安装依赖
npm i -g pm2
npm i --production
- 编辑prod-server.yml文件,指定https证书路径
- 运行服务器
npm run prod