用于从hh.ru服务收集空缺统计信息的实用程序
hh-stats的Python项目详细描述
功能
- 空缺从:
- hh.ru服务api;
- json文件;
- 职位空缺收集关键技能;
- 每个空缺的关键技能集合:
- 请求频率;
- 工资中位数:
- 最小值;
最大;
- 区域列表(允许值(JSON格式): https://api.hh.ru/areas);
- 专门化列表(允许值(JSON格式): https://api.hh.ru/specializations);
- 附加搜索查询(它支持查询语言: https://hh.ru/article/1175);
- 搜索查询的搜索字段(允许的值:name, description);
- 只搜索带薪职位;
- 分析时间段的开始(在ISO 8601或 可读格式;详见下文);
- 分析的时间段结束(在ISO 8601或 可读格式;详见下文);
- 迭代在时间段内的时间增量(在 可读格式;详见下文);
- 格式:
- raw(json格式的空缺列表;详细信息见下文);
- csv;
- svg;
- 收件人:
- 指定文件;
- stdout(仅适用于raw和csv格式);
- 通过Matplotlib库打开窗口 (仅适用于SVG格式);
安装
$ pip install hh-stats
用法
$ hh-stats -v | --version $ hh-stats -h | --help $ hh-stats [options]
选项:
- <千位},$ },-显示版本消息并退出;
- {TT5}$,^ {TT6}$-显示此帮助消息并退出;
- -a AREA [AREA...],--areas AREA [AREA...]-空缺区域 (允许值(json格式):https://api.hh.ru/areas;默认值: ['1']);
- -s SPECIALIZATION [SPECIALIZATION...], --specializations SPECIALIZATION [SPECIALIZATION...]-空缺 专门化(允许的值(json格式): https://api.hh.ru/specializations;默认值:['1.221']);
- -q QUERY,--query QUERY-附加搜索查询(它 支持查询语言:https://hh.ru/article/1175;
- -p {name,description} [{name,description}...], --query-properties {name,description} [{name,description}...]- 搜索查询的搜索字段(允许的值:name, description;默认值:['name', 'description']);
- -r,--salary-required-只搜索带薪职位;
- -b ANALYSIS_BEGIN,--analysis-begin ANALYSIS_BEGIN-a开始 ISO 8601中的分析时间段或人类可读的 格式(默认值:1 month ago);
- -e ANALYSIS_END,--analysis-end ANALYSIS_END-结束 ISO 8601或人类可读格式中的分析时段 (默认值:now);
- -I ANALYSIS_INCREMENT, --analysis-increment ANALYSIS_INCREMENT-分析时间 以可读格式递增(详见下文);
- -F REQUEST_FREQUENCY,--request-frequency REQUEST_FREQUENCY- 最大请求频率(默认值:30);
- {TT32 } $,^ {TT33 } -最大页面大小 (默认值:500);
- -V VALUE_OF_INTEREST,--value-of-interest VALUE_OF_INTEREST- 利息的最小值(默认值:5);
- -E,--error-on-limit-在超过 搜索限制(2000个空缺);
- -D[SKILLS_DELIMITER...], --skills-delimiters[SKILLS_DELIMITER...]-分隔符 未分离技能(默认值:[',',';']);
- -A SKILLS_ALIASES,--skills-aliases SKILLS_ALIASES-路径 使用json格式的skills别名的文件(请参见下面的 详细信息);
- -O {num,min,max},--order {num,min,max}-统计顺序 项目(默认值:num);
- -f {raw,csv,svg} [{raw,csv,svg}...], --format {raw,csv,svg} [{raw,csv,svg}...]-输出格式 (默认值:['svg']);
- -i INPUT [INPUT...],--inputs INPUT [INPUT...]-输入路径;
- -o OUTPUT,--output OUTPUT-输出路径。
时间戳格式
ISO 8601格式
YYYY-MM-DDTHH:MM:SS±HHMM
人类可读格式
± <quantity> <unit> <modifier> <reference point>
单位:^{TT53}$,^{TT54}$,^{TT55}$,^{TT56}$,^{TT57}$,^{TT58}$, second。
修饰语:^{TT60}$,^{TT61}$,^{TT62}$,^{TT63}$,^{TT64}$, ^{TT65}$,last,next,previous,end of,this, eod,eom,eoy。
参考点:月,工作日,yesterday,today,now, tomorrow,noon,afternoon,lunch,morning, breakfast,dinner,evening,midnight,night, tonight。
例如:
5 minutes from now 5 minutes ago 1 hour from noon last week 2 weeks from tomorrow 3 hours from next monday
有关详细信息,请参见:https://github.com/bear/parsedatetime。
技能别名格式
json模式格式中的skills别名格式:
{"type":"object","patternProperties":{"^.+$":{"type":"array","items":{"type":"string","minLength":1},"uniqueItems":true,"minItems":1}},"additionalProperties":false,"minProperties":1}
例如:
{"HTML":["HTML5"],"CSS":["CSS3"],"JavaScript":["ES5","ES6","ES7","ES2015","ES2016","ES2017"],"PHP":["PHP5","PHP7"],"Python":["Python2","Python3"],"Go":["Golang"],"C++":["C/C++","C++11","C++14","C++17"],"bash":["shell"]}
空缺列表格式
json模式格式的空缺列表格式:
{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","pattern":"^\\d+$"},"skills":{"type":"array","items":{"type":"string","minLength":1},"minItems":1},"salary":{"type":"object","properties":{"minimal":{"$ref":"#/definitions/amount"},"maximal":{"$ref":"#/definitions/amount"}},"required":["minimal","maximal"],"additionalProperties":false}},"required":["id","skills","salary"],"additionalProperties":false},"minItems":1,"definitions":{"amount":{"oneOf":[{"type":"null"},{"type":"number","minimum":0}]}}}