求职 如何优雅地找工作

snake · 2017年03月23日 · 最后由 CC 回复于 2017年03月25日 · 1703 次阅读

嗯,标题党了。此文所讲的找工作,不是一般通过浏览招聘网站找工作。此文所讲的找工作,是通过爬虫以及数据分析,自动精确匹配工作机会。如果还是传统的浏览招聘网页,确实有点不够优雅。如果你观望工作,可以做成推送,这样就不会与你理想的工作失之交臂,而且悄无声息。

本文以拉勾网为例,爬取一线城市软件测试工作机会的数据。

通过 chrome 浏览器工具,我们可以发现,拉勾网页的数据,可以通过 json 获取到。

web.png

发个请求就可以获取,都不需要用爬虫框架。

import requests
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt

url = 'http://www.lagou.com/jobs/positionAjax.json?city={}&yx={}&needAddtionalResult=false'
cities = ['北京', '上海', '广州', '深圳']
salaries = ['2k-5k', '5k-10k', '10k-15k', '15k-25k', '25k-50k']

def get_page(url, page_num, keyword):      
    if page_num == 1:
        boo = 'true'
    else:
        boo = 'false'

    page_data = {
        'first': boo,
        'pn': page_num,
        'kd': keyword
    }
    page = requests.post(url,page_data)
    return page.json()

执行起来就是这样的:

code.png
于是得到了一现城市软件测试岗分布的 Dataframe.
统计行,用图例展现出来,就得到了总数分布图,如下:
result1.png

从图中可以看出:
帝都机会最多,遥遥领先。
广州最弱,差不多是深圳的一半。
上海深圳相差不大。

把这个 Dataframe 用图表展现出来,就得到了薪水分布图。

result3.png

此图可以看出:
帝都对中高端测试人员需求较多,分布均匀。
其他城市对 5-10K 的人员需求较多,薪水越越往上,职位数量呈剧烈直线下降趋势。

由此可以看出,就软件测试行业来看:帝都工作岗位,无论是数量上,还是质量上,都完胜其它城市。

我们都希望自己的工作,钱多,事少,离家近。
事情多少不太好说。但是其他两项,可以统计分析。

我们对上海,15-25K 这个区间段为例进行具体分析:
取一些自己感兴趣的 tag 来爬取数据。

number = count_frame.loc[cities[1], salaries[3]]
page_number = int(number / 15)
tags = ['companyFullName', 'companyLabelList', 'companySize', 'district', 'financeStage', 'industryField',
                 'positionAdvantage', 'positionLables', 'positionName', 'workYear']

for page_index in range(1, page_number):
    page = get_page(url.format(cities[1], salaries[3]), page_index, keyword)
    page_result = page['content']['positionResult']['result']
    jobs = (page_result[index][tag] for index in range(0, 15) for tag in tags)
    job_list = list(jobs)

爬出来的数据,保存到 excel 中,得到一个如下的图表。

job.png

首先对公司福利进行统计,为了直观,做了个图。

word.png

多数公司强调提供发展平台,空间。
也用弹性,氛围来吸引人才。

读取这个 excel, 通过 dataframe 来 filter 关键字,就能精确匹配到你期望的工作。

当然,打铁还需自身硬。 期望的工作定位到了,你还得有匹配工作的实力。

加上定时功能,每天就可以定时给你推送了。
wechat.png

注意,现在的网站反爬能力也越来越强。可能一不小心就会是这样。

具体如何应对,下回再说。

此方法可以适用其它工作岗位。

最后套用葛大爷的一句话:“我们吃着火锅,唱着歌。” 就把工作给定位到了,美哉妙哉。

如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!
共收到 18 条回复 时间 点赞

从哪里 copy 过来的 也不注明原处

@wgx1 请睁大眼睛瞅瞅,本人原创。如果你从那个公众号看过,看看作者,是不是本人。如果你还能从别的地方找到,请提供证据。

赞,很有意思

@snake 不错,小子动了换工作的心了

匿名 #6 · 2017年03月24日

有技术、有想法的懒人,就会搞出一些高大上的偷懒方法,赞

哈哈哈,好有意思😶

😂 到头来还是要弄 ip 池啊。。。。

恒温 回复

本来是想学点量化投资的东西,无奈数学还要回炉,就从简单的练练手。晚上回去换了几个关键字,结果还蛮有意思的。BTW,你那么晚还不睡觉,熬夜伤身。

snake #10 · 2017年03月24日 Author

你说得太对了,就是懒人一个。还有一系列偷懒的方法,提纲都列好了,不知道会不会生产出来。还是因为懒。

snake #11 · 2017年03月24日 Author
dadeshuo 回复

不用,自有偷懒的方法。

匿名 #12 · 2017年03月24日
snake 回复

不用 ip 代理池,你怎么突破反爬,求高招

snake #13 · 2017年03月24日 Author

用土办法, 模拟浏览器,不用多线程,不用框架啥的。注意执行速度。网站是分辨不出来的。

匿名 #14 · 2017年03月24日
snake 回复

哦哦哦,你要用 PhantomJS ,这个确实要注意速度,不然还是会被检测出来,速度方面是不是会被 ip 代理慢很多啊

testerhome 的反扒也可以,后来我随机 think 了一段时间。

可以尝试分析他们 app 的包。
不是大司,经常对 app 的请求根本不设防

哈哈,有意思,够优雅

.不错不错

—— 来自 TesterHome 官方 安卓客户端

需要 登录 后方可回复, 如果你还没有账号请点击这里 注册