Tampermonkey 是一款免费的浏览器扩展和最为流行的用户脚本管理器,它适用于 Chrome, Microsoft Edge, Safari, Opera Next, 和 Firefox。
官方网站,
文章只是为快速在网页扩展一些工具能力提供一些思路。
Tampermonkey 基本使用
Tampermonkey 内新建一个脚本,如下地方配置你自己需要匹配的网站信息1
2
3
4
5
6
7
8
9// ==UserScript==
// @name New Userscript
// @namespace http://tampermonkey.net/
// @version 0.1
// @description try to take over the world!
// @author You
// @match http://*/*
// @grant none
// ==/UserScript==
然后匹配成功后,会在访问对应网站时看到如下图所示的图标上显示数字,这时可以开始编写你的脚本了
筛选简历基本思路
- 为网页添加一个按钮,点击可以开启简历过滤
- 对简历容器元素创建 MutationObserver,监听内部元素变更之后自动执行简历过滤
- 提取过滤规则配置,比如薪资、工作年限、学历、目前状态等
- 如果想要自动筛选可以通过触发翻页操作,如点击加载下一页
区间存在交集算法
如上的学历、目前状态可以通过包含关系实现,但是薪资和工作年薪会涉及到一个区间的匹配。
比如:1
2薪资区间设置为:[15, 20];
匹配人员薪资要求为:[18, 25];
如何判断两个区间之间是存在交集的呢,会有一个简单的算法1
2
3
4// 区间 [A,B] 和 [X,Y]
// 有交集的情况
X <= B && A <= Y
详细原文可查看:
http://world.std.com/~swmcd/steven/tech/interval.html
基本实现
代码实现逻辑如下:
graph LR A[创建按钮] --> B[点击开始监听Dom Mutation] B --> C[触发加载下一页数据] C --> D[监听到Dom变更] D --> E[过滤数据] E -- 有下一页 --> C E -- 无下一页 --> F F[筛选结束]
基本点:不能改动到页面原本的执行逻辑,整个实现方案主要在dom的变更监听MutationObserver
,以及过滤DOM节点获取你需要的信息来实现
1 | (function () { |