rmotr.com集团项目*124;作业检测器
rmotr-b13-c1-g1-jobs-detector的Python项目详细描述
今天我们将开发一个命令行工具来解析 基于给定关键字查找工作统计信息的网站。在这个 这个工具的第一个版本,我们将只实现 Hackernews博客,其中包括一份关于“谁在招聘”的月报。“。 示例:https://news.ycombinator.com/item?id=11814828
命令用法
必须通过调用^{tt1}访问命令行工具$ 命令。子命令hacker_news也必须作为 这个实现。
要查看可选和必需参数的完整列表,可以 使用--help标志执行命令。
$ jobs_detector hacker_news --help Options: -i, --post-id TEXT [required] -k, --keywords TEXT -c, --combinations TEXT --help Show this message and exit.
默认参数
要使用默认关键字集请求作业统计信息,只需调用 提供有效hn post id的hacker_news子命令(请参见 上面示例url的最后一部分),如下所示:
$ jobs_detector hacker_news -i 11814828 Total job posts: 888 Keywords: Remote: 174(19%) Postgres: 81(9%) Python: 144(16%) Javascript: 118(13%) React: 133(14%) Pandas: 5(0%)
关键词过滤
对于默认关键字的子集合,甚至自定义关键字的统计信息 默认设置之外的关键字可以指定-k或 --keywords选项,用逗号分隔的值列表。
$ jobs_detector hacker_news -i 11814828 -k python,django,ruby Total job posts: 889 Keywords: Python: 144(16%) Ruby: 80(8%) Django: 36(4%)
组合统计
也可以请求某些组合的统计信息 关键词。例如,有多少报价要求“远程”, “Python”和“烧瓶”同时出现?。若要执行此操作,请使用-c或 -combinations选项。
$ jobs_detector hacker_news -i 11814828 -c remote-python-flask,remote-django Total job posts: 888 Keywords: Remote: 174(19%) Postgres: 81(9%) Python: 144(16%) Javascript: 118(13%) React: 133(14%) Pandas: 5(0%) Combinations: Remote-Python-Flask: 2(0%) Remote-Django: 6(0%)
通过添加额外的 参数或更多子命令来解析不同的网站。
您的命令在pypi中可用
最后,要结束这个组的工作,您必须使您的命令工具 在pypi(python包索引)中提供。外面肯定有人 能够使用pip命令并安装本地版本的 项目。为此,我们将遵循一些命名约定,这样就不会 彼此之间有冲突。这是命名惯例 您的包必须遵循:rmotr-bX-cY-gZ-jobs-detector,其中 X、Y和Z是批次号、课程号和组 分别编号。
任何人都应该能够通过执行来安装包,例如: pip install rmotr-b6-c1-g3-jobs-detector。
这里有一个非常详细的关于如何将东西上传到pypi的指南: https://hynek.me/articles/sharing-your-labor-of-love-pypi-quick-and-dirty/