Python爬蟲:爬一下十月份的就業(yè)情況
不知不覺,十月份已經(jīng)過去了,傳說中的金九銀十招聘季也應(yīng)該隨之結(jié)束了,不知道有換工作打算的朋友有沒有找到理想的下家,反正我沒有。
于是乎,我再次轉(zhuǎn)戰(zhàn) Boss 直聘,我就是想看看,到底什么工種比較好找工作呢。當(dāng)然了,這里工作種類實(shí)在是太多了,我就挑選出 Python,Java,數(shù)據(jù)分析和產(chǎn)品經(jīng)理這四種崗位來做下簡(jiǎn)單的分析。
-
獲取數(shù)據(jù)
我在前面就寫過一篇獲取 Boss 數(shù)據(jù)的文章,可以戳這里查看(查看)。但是后面有人反映說 Cookies 過期時(shí)間太快了,我自己嘗試之后也確實(shí)如此,那么這種情況下,使用 selenium 就是更好的選擇了。
由于網(wǎng)站頁(yè)面結(jié)構(gòu)并沒有變化,所以以前的解析網(wǎng)頁(yè)的代碼基本可以復(fù)用,只不過從 bs4 解析變?yōu)?webdriver 解析。
- def get_jobs(page, city, job_type):
- Chrome_driver = webdriver.Chrome(options=options)
- c_code = city_code[city]
- for i in range(1, page + 1):
- try:
- print("正在抓取第 %s 頁(yè)數(shù)據(jù)" % i)
- uri = '/%s/?query=%s&page=%s' % (c_code, job_type, i)
- Chrome_driver.get(config.url + uri)
- ...
同時(shí)這里要注意的是,Boss 網(wǎng)站會(huì)檢測(cè)瀏覽器是否在受 selenium 控制,所以我們還要增加一條配置,來繞過該檢測(cè)。
- from selenium.webdriver import ChromeOptions
- options = ChromeOptions()
- options.add_experimental_option('excludeSwitches', ['enable-automation'])
之后就可以運(yùn)行程序等待完成了。
- if __name__ == '__main__':
- for i in city_code.keys():
- get_jobs(10, i, 'python')
- get_jobs(10, i, 'java')
- get_jobs(10, i, '數(shù)據(jù)分析')
- get_jobs(10, i, '產(chǎn)品經(jīng)理')
每種崗位我只爬取了前10頁(yè),畢竟我們翻看工作的時(shí)候,也不會(huì)翻看到10頁(yè)以后吧!
而對(duì)于城市,我則選擇了如下的城市:
- city_code = {
- 'beijing': 'c101010100',
- 'shanghai': 'c101020100',
- 'guangzhou': 'c101280100',
- 'shenzhen': 'c101280600',
- 'hangzhou': 'c101210100',
- 'xian': 'c101110100',
- 'wuhan': 'c101200100',
- 'chengdu': 'c101270100',
- 'nanjing': 'c101190100'
- }
-
招聘薪資整體分析
首先我們先來看下不同城市間,同種工作的招聘薪資對(duì)比,正所謂沒有對(duì)比,就沒有傷害。

圖中的薪資來源:選擇崗位中招聘薪資區(qū)間最多的作為普遍薪資,如對(duì)于西安的 Java 崗位,10-15K 是最多的薪資區(qū)間,那么西安 Java 崗位在圖中的數(shù)值即為(10+15)/2 + 32/10 = 15.7

從圖中的數(shù)據(jù)可以看出,北京、上海、深圳和杭州的普遍薪資是高其他城市一等的,那么應(yīng)該是第一階梯,所謂的“北上廣深”可能即將成為過去式了。
同時(shí)還能看出,雖然近些年 Python 混的風(fēng)生水起,大紅大紫,但是薪資相對(duì)來說卻不是很高,所有的城市都沒有超過30K,相比杭州的 Java,深圳的數(shù)據(jù)分析和北京的產(chǎn)品經(jīng)理來說,Python 還是太弱勢(shì)了。
而從整體來看,產(chǎn)品經(jīng)理絕對(duì)是總體薪資水平很高的崗位,無論程序猿們服不服氣,你們的戰(zhàn)友(天敵)就是會(huì)壓你一頭。
下面再來看看不同城市對(duì)于不同崗位的需求程度,我這里默認(rèn)需求程度高,那么普遍薪資也高。
-
崗位城市需求
Python 需求情況

能夠看出,對(duì)于 Python 來說,北京、上海和深圳可能是比較好發(fā)展的城市,而南京竟然墊底,這讓我情何以堪啊。
Java 需求情況

上海和杭州是獨(dú)一檔的存在,擁有阿里巴巴的杭州,招聘高級(jí) Java 可不是鬧的哦。而其他城市則分布的較為平均,看來老牌語言的威力就體現(xiàn)在這里了,哪個(gè)公司敢說自己一點(diǎn) Java 都不用呢?
數(shù)據(jù)分析崗位

對(duì)于數(shù)分崗位,深圳一馬當(dāng)先,我想這會(huì)不會(huì)和騰訊有著莫大的關(guān)系呢,畢竟分析好自己和別人的數(shù)據(jù),才更好。。。
而北京也是獨(dú)占第二檔,看來近來大火的數(shù)據(jù)分析崗位,還是在大城市,大廠中更加有發(fā)展前途哦。
產(chǎn)品經(jīng)理崗位

能夠看出,北京應(yīng)該是產(chǎn)品經(jīng)理的天堂,這也非常符合北京這座城市的身份地位–引領(lǐng)中國(guó)互聯(lián)網(wǎng)的潮流。
而深圳、上海、杭州和南京對(duì)于產(chǎn)品經(jīng)理來說也會(huì)有不錯(cuò)的發(fā)展,畢竟這幾座城市,是多少年輕人夢(mèng)開始的地方!
-
總體崗位分布
最后再來看看總體崗位需求分布情況

可以清晰的發(fā)現(xiàn),當(dāng)前的崗位需求分布還是分為三大塊,北京地區(qū),長(zhǎng)三角地區(qū)和廣州-深圳地區(qū)。
無論是當(dāng)年的改革開放還是如今的互聯(lián)網(wǎng)熱潮,東南沿海地區(qū)一直都走在前列,大型企業(yè)入駐,人才涌入,大大推動(dòng)了地區(qū)的發(fā)展,從而也水漲船高,無論是薪資還是需求量,都遙遙領(lǐng)先于其他地區(qū)。
而對(duì)于中部城市西安、武漢和成都等,不是它們不夠好,而是先天的差距,需要后天更多的資源傾斜才能彌補(bǔ)。
-
崗位名稱
說了這么多,那么各個(gè)企業(yè)到底都在招聘什么崗位呢
Python 崗位名稱

對(duì)于 Python 來說,招聘居多的是全棧工程師和開發(fā)工程師。我理解的兩者的區(qū)別應(yīng)該是全棧工程師需要知道的技術(shù)要更多一些,比如前端、數(shù)據(jù)庫(kù)、網(wǎng)絡(luò)等等。當(dāng)然這并不代表純的開發(fā)工程師就可以不懂這些技能,畢竟如今競(jìng)爭(zhēng)壓力這么大,不是能夠承受996就能找到工作的時(shí)代了。
Java 崗位名稱

Java 來說,比較多的是高級(jí)工程師和架構(gòu)師,這都是比較高級(jí)的崗位了,對(duì)于 Java 這種生態(tài)如此龐大,應(yīng)用如此廣泛的語言來說,成為架構(gòu)師之路,還是漫長(zhǎng)且阻啊!
數(shù)據(jù)分析崗位名稱

數(shù)據(jù)分析,能夠看到有招聘偏于業(yè)務(wù)的“數(shù)據(jù)分析-DS快捷拼車”,也有招聘偏于技術(shù)的資深數(shù)據(jù)分析師,總之對(duì)于這個(gè)崗位,這兩大方向應(yīng)該是兩種截然不同的晉升途徑,而對(duì)于個(gè)人的要求也不盡相同。
產(chǎn)品經(jīng)理崗位名稱

對(duì)于產(chǎn)品經(jīng)理這個(gè)崗位來說,大多都是基于業(yè)務(wù)來招聘的,比如 CRM 產(chǎn)品經(jīng)理,社區(qū)產(chǎn)品經(jīng)理,AI 產(chǎn)品經(jīng)理等等。看來在社會(huì)分工越來越細(xì)致的今天,產(chǎn)品經(jīng)理的分工率先體現(xiàn)了出來,那么不同領(lǐng)域的產(chǎn)品經(jīng)理,會(huì)容易跳槽嘛?
好了,今天的分析就到此為止,我計(jì)劃下次再來分析下不同企業(yè)的招聘情況,可以期待一下下哈!