用于从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);
    • 搜索查询的搜索字段(允许的值:namedescription);
    • 只搜索带薪职位;
    • 分析时间段的开始(在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}...]- 搜索查询的搜索字段(允许的值:namedescription;默认值:['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}$,lastnextpreviousend ofthiseodeomeoy

参考点:月,工作日,yesterdaytodaynowtomorrownoonafternoonlunchmorningbreakfastdinnereveningmidnightnighttonight

例如:

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

人类可读时间增量格式

例如5 d 12 h 23 m 42 s

有关详细信息,请参见:https://github.com/wroberts/pytimeparse

技能别名格式

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}]}}}

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
Java编译器整数错误   java为什么我不能在eclipse中将jsp添加到google应用程序引擎中?   用于计算的java交换机时区   java将另一个表中的列添加到现有SQL/query语句中   Java线程:在start()之后对线程对象调用run()方法   java问题:使用Xlint重新编译:未选中以获取详细信息   java如何使用控制台中的输入   java计算字符串中最高数字的数量   java将数据源密码置于上下文之外。xml   java如何防止变量永远运行?   是VB。NET SmtpClient API受限于Java SendMail?   java在Jmeter中生成会话ID   使用java从XML检索文本和标记   无法参数化Java swing JComboBox   java在maven多模块项目的父配置中将模块设置为其他模块的依赖项