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

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

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

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

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

對于數分崗位,深圳一馬當先,我想這會不會和騰訊有著莫大的關系呢,畢竟分析好自己和別人的數據,才更好。。。
而北京也是獨占第二檔,看來近來大火的數據分析崗位,還是在大城市,大廠中更加有發展前途哦。
產品經理崗位

能夠看出,北京應該是產品經理的天堂,這也非常符合北京這座城市的身份地位–引領中國互聯網的潮流。
而深圳、上海、杭州和南京對于產品經理來說也會有不錯的發展,畢竟這幾座城市,是多少年輕人夢開始的地方!
-
總體崗位分布
最后再來看看總體崗位需求分布情況

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

對于 Python 來說,招聘居多的是全棧工程師和開發工程師。我理解的兩者的區別應該是全棧工程師需要知道的技術要更多一些,比如前端、數據庫、網絡等等。當然這并不代表純的開發工程師就可以不懂這些技能,畢竟如今競爭壓力這么大,不是能夠承受996就能找到工作的時代了。
Java 崗位名稱

Java 來說,比較多的是高級工程師和架構師,這都是比較高級的崗位了,對于 Java 這種生態如此龐大,應用如此廣泛的語言來說,成為架構師之路,還是漫長且阻啊!
數據分析崗位名稱

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

對于產品經理這個崗位來說,大多都是基于業務來招聘的,比如 CRM 產品經理,社區產品經理,AI 產品經理等等。看來在社會分工越來越細致的今天,產品經理的分工率先體現了出來,那么不同領域的產品經理,會容易跳槽嘛?
好了,今天的分析就到此為止,我計劃下次再來分析下不同企業的招聘情況,可以期待一下下哈!