求职 如何优雅地找工作

snake · March 23, 2017 · Last by CC replied at March 25, 2017 · 1752 hits

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

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

通过 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 过来的 也不注明原处

snake #3 · March 23, 2017 Author

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

赞,很有意思

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

匿名 #6 · March 24, 2017

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

哈哈哈,好有意思😶

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

snake #9 · March 24, 2017 Author
恒温 回复

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

snake #10 · March 24, 2017 Author

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

snake #11 · March 24, 2017 Author
dadeshuo 回复

不用,自有偷懒的方法。

匿名 #12 · March 24, 2017
snake 回复

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

snake #13 · March 24, 2017 Author

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

匿名 #14 · March 24, 2017
snake 回复

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

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

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

哈哈,有意思,够优雅

.不错不错

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

需要 Sign In 后方可回复, 如果你还没有账号请点击这里 Sign Up