拉勾網創始人、董事長許單單8月19日確認,拉勾網獲得來自啟明創投領投、貝塔斯曼亞洲投資基金跟投的2500萬美元B輪融資,目前全部資金已經到賬。這距離拉勾網公布A輪融資,僅過去4個月。
許單單介紹,拉勾網已經擁有注冊用戶近100萬,總簡歷投遞量超過了300萬人次。目前,已經有包括百度、阿里巴巴、騰訊、小米科技等在內的2萬多家互聯網公司在拉勾發布招聘職位,并都視拉勾為招聘互聯網高端人才的必爭之地。目前拉勾網開放互聯網職位達12萬個。
專注于做互聯網在線垂直招聘的拉勾網剛剛成立13個月。一家目前僅有60名員工的公司,一年內做到市值近8億人民幣,拉勾網做對了什么?
繞開微信
目前市場所見的橄欖綠色的拉勾網,上線于2013年7月20日。在此之前,有另一個模式與思路截然不同的“拉勾網”,經過三個多月的嘗試,被許單單放棄了。
做招聘的念頭,最初來源于許單單經營3W咖啡館時的一些經歷。在這家以新科技項目創投聞名全國的咖啡館里,總有些朋友找許單單他們介紹IT人才。介紹過幾次后,許單單和一起創建了3W咖啡的馬德龍、鮑艾樂商量,我們為什么不辦個招聘網站,“賺點小錢呢”?
“剛開始是想做一款中國版的linkedIn,”許單單說。2013年4月前后,第一版拉勾網上線。但運行一個月后,創始團隊便發現,社交招聘平臺的思路走不通。用戶增長很慢,人少,“社交”不起來。兩個月后,團隊決定改弦更張,就做一款最純粹招聘產品。盯著“工具性”來做。
拉勾網的三個創始人,許單單、馬德龍、鮑艾樂均出身于騰訊,這讓他們在思考拉勾網未來的戰略決策時,多了一層考量。“退一萬步,假設社交招聘平臺真有其生存的空間,那么他們最大的競爭對手將變成微信和微博。”許單單說,“我們為什么要把微信、微博作為自己潛在的競爭對手呢?”
2013年5月中旬,“LinkedIn版”拉勾網開始醞釀改版,經過一個多月的籌備、設計、測試,2013年7月20日,一個純粹的、工具性的、招聘網站拉勾網上線:由公司HR發布職位,求職者上傳并投遞簡歷,最終完成職位的供需匹配。
一個細節也許可以證明拉勾網避開巨頭競爭的策略的合理性:恰在拉勾網公布B輪融資前一個星期,2014年8月13日,定位于“職場版微信”的社交應用軟件脈脈,公布了其2000萬美元的B輪融資。但三天以后,便傳出了新浪微博封殺脈脈的消息。
以求職者為杠桿:我們為什么拒絕特斯拉?
在拉勾網進入招聘行業之時,傳統的招聘格局已經成型多年,且競爭激烈。拉勾網身前,是智聯、51、58、中華英才等已經深耕多年、壁壘森嚴的傳統招聘平臺;拉勾網身邊是獵聘、大街這樣近年來已形成特色的招聘公司;而拉勾網身后,則是同樣做互聯網垂直招聘的“內推”在追趕。
許單單選擇了以C端求職者為撬桿,來撬動整個在線招聘格局,并以此來切分屬于拉勾網的市場蛋糕。
拉勾網不斷想花樣、換花樣來討好求職者。他們首創了“24小時極速入職”的做法;他們要求企業HR對收到的每一封簡歷必須盡快做出回應;他們要求拉勾網上的每一個招聘職位都必須薪資明確。——這些,無一不擊中了求職者普遍的心理痛點。
拉勾當時對企業的某些做法,甚至是“粗暴”的。不久前,特斯拉中國區希望在拉勾網上發布招聘信息。但接洽了之后,因為特斯拉不愿意明確招聘職位的薪酬,拉勾網直接拒絕了這家風頭正盛的明星企業。因為同樣的原因,京東在拉勾網的招聘信息也曾被“下架”。
“其實,真不是我們不愿意服務好B端的企業,而是,如果拉勾網不維護用戶的利益,用戶就不來,不來你去哪兒招人去?”拉勾網的CEO馬德龍解釋說。
馬德龍告訴記者,從8月20日起,拉勾網將通過技術改進,強制要求企業端對收到的每一封求職信做出回應。“如果企業端對收到的簡歷,棄之不理,超過20封,將無法察看此后收到的新簡歷的聯系方式。”馬德龍說。
經得起誘惑:節奏感是公司早期成功的密碼
2013年12月底,許單單、馬德龍、鮑艾樂和公司的幾個高層商量拉勾網開年的戰略規劃。
那時拉勾網已露崢嶸,錢自己找上門來了。幾個人創業幾年來,第一次面臨“不缺錢”的局面,但怎么花錢就成了問題。
馬德龍回憶說,當時一切都順風順水,大家都很興奮。內部有聲音,覺得拉勾網應該上“全平臺”了,即PC端,微信端,htlm5端,APP端。尤其是要不要開發拉勾網自己的APP,幾個高層曾有過分歧。但幾次討論后,全平臺的計劃,被大家一致放棄了。
“移動端的普及,是大趨勢,所以大家覺得開發拉勾網的APP是歷史趨勢,有不言而喻的合理性。”許單單說,“但討論到最后,我們開始討論最根本的一個問題,我們開發APP的目的到底是什么。”
最后大家達成了共識:一款無法進入用戶智能手機第一屏的APP,對于拉勾網意義不大。而開發、維持這款APP,將消耗巨大的財力和人力。況且,APP在移動端的大部分功能,和拉勾網在微信服務號上的功能,是重疊的。
在最終的方案中,不只是APP被從2014年的年度計劃中砍掉,HTML5端口,也被砍掉了。就留下了PC端和微信端。“創業公司的節奏感是最重要的。任何公司都知道做正確事情,問題在于,以什么樣的節奏的做正確的事情。”馬德龍解釋道。
“小公司在創業階段,必須聚精會神,面對誘惑,一定要扛得住,不然,空耗人力財力是小事,影響團隊士氣,是大事兒。”馬德龍說。
盡管融資2500萬美元,估值近8億,但許單單坦承,拉勾網目前的營收尚無起色:“營收還在測試階段,沒有成規模的收入。”
勾網 B 輪融資 2500 萬美金,估值 1 億 5000 萬美元,為什么拉勾網能在創立一年內估值這么高?
拉勾網一年內3次融資,從天使,到A輪,再到今天的B輪,確實走的太快了,連幾個創始人都覺得有一些扛不住。拉勾創始人曾經總結過,在互聯網這個行業內,1年內做到如此估值的公司不會超過5個,想想就覺得,這可能是幻覺。
拉勾CEO眼中的拉勾
拋開估值不談,就CEO馬德龍覺得這些都是浮躁的東西。
拉勾今天的狀態可以給大家列一列來思考拉勾的價值:
1、拉勾作為一個互聯網人的職業機會平臺,是有粉絲的。這個行業在中國發展那么多年,還有誰有過粉絲?這就是價值。
2、拉勾的第一核心是用戶,不是企業。這是拉勾與所有平臺的不同,所以拉勾獲得了巨大的用戶認同感。換個角度看世界,做事情,就能感受到,原來世界可以這么大。
3、拉勾今天有2.2W家企業在平臺招人,坐穩了互聯網招聘的老大。你已經很少發現你知道的公司沒有在拉勾招人了,這足以說明一切。
4、每天,有小一萬人在拉勾找工作。理論上,這些人都會找到工作,這也是價值體現。
5、拉勾現有存量近15W個職位。這是這個這個行業急速發展的體現,這么多職位,也只有拉勾是這個量級。(有人回答拉勾說自己有16.8W,單看ID是不準的)
6、3W給了拉勾無法衡量的幫助。3W在壯大,拉勾也在壯大,相互扶持著前進。
7、拉勾做的第一場線下開放日,竟然來了3000人。這就是認同的力量。
就局內人認為的拉勾在投資人眼中的亮點
1、拉勾在重新定義互聯網招聘的模式:由廣告模式到效果模式的演變,由客戶導向到用戶體驗的演變。
2、拉勾在引領互聯網招聘的體驗和風格,注重信息的對稱性,注重流程,注重設計風格,讓用戶從對產品的認同作為使用的出發點。
3、拉勾已經成為這條賽道上跑的最快的馬,對投資而言,投就投趨勢和增長性最好的。
4、拉勾的團隊背景,完全是互聯網化的團隊組合。
衡量一個公司的估值,是多維度的,我們創始人來描述也并不準確。但是我們能講述我們看到的未來,我們現在的地位。
試想,這個行業前景極其巨大,這個新興者又成了這個行業的老大,他的估值多少是不是都是可以接受的?
拉勾內部員工眼中的看法
1、根基厚。
拉勾網是3w旗下的,圈內人大概也了解3w咖啡的概念,百位大佬一次成功的重酬云云,因此首先在投資圈就有基礎。(徐小平老師為拉勾代言啥的。。)
3w咖啡下還有傳媒公司 孵化器等公司,大家彼此間會有矩陣般的力量。可以理解為賽車時,同一隊的車前后排列,利用對方氣流互助…
三個老板在投資圈 互聯網圈內人脈深廣,各自有所長有偏重。
2、團隊有點瘋。
對于一家公司,尤其是創業公司而言,人有決定性作用。這句是廢話。拉勾人的工作狀態和大公司差別比較大——是典型的“每個人都不是只干一件事”。
3、執行力及媒體關系
姬十三、薛蠻子、各路媒體朋友們關注、評論、轉發拉勾昨天的新聞。
用戶眼中的拉勾與期待
相信很多人找工作上過 51job ,嘗試著填過 51job、中華英才這些網站的簡歷,也在上面搜過崗位,并且是真的在找工作而不是把玩一下,你一定會認為——他們都是垃圾!
有了這些鋪墊,再看看拉勾網,頓時覺得真美好……至少它讓我覺得我離工作很近!當然這只是表面,實際上我們不能過分批評傳統招聘網站,它們長期以來面對的市場把它們塑造成那樣子的。
拉勾網要做的事情很單純,面對的人也很單純,只做互聯網招聘(還有相關的 IT 公司,比如華為,以后硬件創業公司應該也會慢慢多起來),于是它可以做的很簡單,很專業。并且拉勾網關注創業公司,而不是像傳統招聘網站那樣擺出各種大公司的招聘廣告,然后每年畢業季風風火火地搞代理校招。創業公司要的是高效,求職者要的同樣是高效,兩邊的需求契合了,作為平臺的拉勾網就不那么為難了。
讓創業者和求職者面對面,這個方向應該是很有些空間的。
順便,拉勾網要是開個專門的內推板塊,會不會熱鬧的多?
利用Python實現BOOS直聘&拉勾網崗位數據可視化。廢話不多說。
讓我們愉快地開始吧~
Python版本:3.6.4
私信小編01即可獲取大量Python學習資源
requests模塊
pyspider模塊;
pymysql模塊;
pytesseract模塊;
random模塊;
re模塊;
以及一些Python自帶的模塊。
安裝Python并添加到環境變量,pip安裝需要的相關模塊即可。
本次通過對BOSS直聘,拉勾網數據分析崗數據分析,了解數據分析崗的行業情況
獲取BOSS直聘索引頁信息,主要是崗位名稱、薪資、地點、工作年限、學歷要求,公司名稱、類型、狀態、規模。
一開始是想對詳情頁分析的,還可以獲取詳情頁里的工作內容和工作技能需求。
然后由于請求太多,就放棄了。索引頁有10頁,1頁有30個崗位,一個詳情頁就需要一個請求,算起來一共有300個請求。
到了第2頁(60個請求),就出現了訪問過于頻繁的警告。
而只獲取索引頁信息的話,只有10個請求,基本上沒什么問題,外加也不想去鼓搗代理IP,所以來點簡單的。
到時候做數據挖掘崗位的數據時,看看放慢時間能否獲取成功。
獲取拉勾網索引頁信息,主要是崗位名稱、地點、薪資、工作年限、學歷要求,公司名稱、類型、狀態、規模,工作技能,工作福利。
網頁為Ajax請求,采用PyCharm編寫代碼,輕車熟路。
pyspider的安裝很簡單,直接在命令行pip3 install pyspider即可。
這里因為之前沒有安裝pyspider對接的PhantomJS(處理JavaScript渲染的頁面)。
所以需要從網站下載下來它的exe文件,將其放入Python的exe文件所在的文件夾下。
最后在命令行輸入pyspider all,即可運行pyspider。
在瀏覽器打開網址
http://localhost:5000/
,創建項目,添加項目名稱,輸入請求網址,得到如下圖。
最后在pyspider的腳本編輯器里編寫代碼,結合左邊的反饋情況,對代碼加以改正。
腳本編輯器具體代碼如下
from pyspider.libs.base_handler import *
import pymysql
import random
import time
import re
count=0
class Handler(BaseHandler):
# 添加請求頭,否則出現403報錯
crawl_config={'headers': {'User-Agent': 'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/63.0.3239.132 Safari/537.36'}}
def __init__(self):
# 連接數據庫
self.db=pymysql.connect(host='127.0.0.1', user='root', password='774110919', port=3306, db='boss_job', charset='utf8mb4')
def add_Mysql(self, id, job_title, job_salary, job_city, job_experience, job_education, company_name, company_type, company_status, company_people):
# 將數據寫入數據庫中
try:
cursor=self.db.cursor()
sql='insert into job(id, job_title, job_salary, job_city, job_experience, job_education, company_name, company_type, company_status, company_people) values ("%d", "%s", "%s", "%s", "%s", "%s", "%s", "%s", "%s", "%s")' % (id, job_title, job_salary, job_city, job_experience, job_education, company_name, company_type, company_status, company_people);
print(sql)
cursor.execute(sql)
print(cursor.lastrowid)
self.db.commit()
except Exception as e:
print(e)
self.db.rollback()
@every(minutes=24 * 60)
def on_start(self):
# 因為pyspider默認是HTTP請求,對于HTTPS(加密)請求,需要添加validate_cert=False,否則599/SSL報錯
self.crawl('https://www.zhipin.com/job_detail/?query=%E6%95%B0%E6%8D%AE%E5%88%86%E6%9E%90&scity=100010000&industry=&position=', callback=self.index_page, validate_cert=False)
@config(age=10 * 24 * 60 * 60)
def index_page(self, response):
time.sleep(random.randint(2, 5))
for i in response.doc('li > div').items():
# 設置全局變量
global count
count +=1
# 崗位名稱
job_title=i('.job-title').text()
print(job_title)
# 崗位薪水
job_salary=i('.red').text()
print(job_salary)
# 崗位地點
city_result=re.search('(.*?)<em class=', i('.info-primary > p').html())
job_city=city_result.group(1).split(' ')[0]
print(job_city)
# 崗位經驗
experience_result=re.search('<em class="vline"/>(.*?)<em class="vline"/>', i('.info-primary > p').html())
job_experience=experience_result.group(1)
print(job_experience)
# 崗位學歷
job_education=i('.info-primary > p').text().replace(' ', '').replace(city_result.group(1).replace(' ', ''), '').replace(experience_result.group(1).replace(' ', ''),'')
print(job_education)
# 公司名稱
company_name=i('.info-company a').text()
print(company_name)
# 公司類型
company_type_result=re.search('(.*?)<em class=', i('.info-company p').html())
company_type=company_type_result.group(1)
print(company_type)
# 公司狀態
company_status_result=re.search('<em class="vline"/>(.*?)<em class="vline"/>', i('.info-company p').html())
if company_status_result:
company_status=company_status_result.group(1)
else:
company_status='無信息'
print(company_status)
# 公司規模
company_people=i('.info-company p').text().replace(company_type, '').replace(company_status,'')
print(company_people + '\n')
# 寫入數據庫中
self.add_Mysql(count, job_title, job_salary, job_city, job_experience, job_education, company_name, company_type, company_status, company_people)
# 獲取下一頁信息
next=response.doc('.next').attr.href
if next !='javascript:;':
self.crawl(next, callback=self.index_page, validate_cert=False)
else:
print("The Work is Done")
# 詳情頁信息獲取,由于訪問次數有限制,不使用
#for each in response.doc('.name > a').items():
#url=each.attr.href
#self.crawl(each.attr.href, callback=self.detail_page, validate_cert=False)
@config(priority=2)
def detail_page(self, response):
# 詳情頁信息獲取,由于訪問次數有限制,不使用
message_job=response.doc('div > .info-primary > p').text()
city_result=re.findall('城市:(.*?)經驗', message_job)
experience_result=re.findall('經驗:(.*?)學歷', message_job)
education_result=re.findall('學歷:(.*)', message_job)
message_company=response.doc('.info-company > p').text().replace(response.doc('.info-company > p > a').text(),'')
status_result=re.findall('(.*?)\d', message_company.split(' ')[0])
people_result=message_company.split(' ')[0].replace(status_result[0], '')
return {
"job_title": response.doc('h1').text(),
"job_salary": response.doc('.info-primary .badge').text(),
"job_city": city_result[0],
"job_experience": experience_result[0],
"job_education": education_result[0],
"job_skills": response.doc('.info-primary > .job-tags > span').text(),
"job_detail": response.doc('div').filter('.text').eq(0).text().replace('\n', ''),
"company_name": response.doc('.info-company > .name > a').text(),
"company_status": status_result[0],
"company_people": people_result,
"company_type": response.doc('.info-company > p > a').text(),
}
獲取BOSS直聘數據分析崗數據
import requests
import pymysql
import random
import time
import json
count=0
# 設置請求網址及請求頭參數
url='https://www.lagou.com/jobs/positionAjax.json?needAddtionalResult=false'
headers={
'User-Agent': 'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/63.0.3239.132 Safari/537.36',
'Cookie': '你的Cookie值',
'Accept': 'application/json, text/javascript, */*; q=0.01',
'Connection': 'keep-alive',
'Host': 'www.lagou.com',
'Origin': 'https://www.lagou.com',
'Referer': 'ttps://www.lagou.com/jobs/list_%E6%95%B0%E6%8D%AE%E5%88%86%E6%9E%90?labelWords=sug&fromSearch=true&suginput=shuju'
}
# 連接數據庫
db=pymysql.connect(host='127.0.0.1', user='root', password='774110919', port=3306, db='lagou_job', charset='utf8mb4')
def add_Mysql(id, job_title, job_salary, job_city, job_experience, job_education, company_name, company_type, company_status, company_people, job_tips, job_welfare):
# 將數據寫入數據庫中
try:
cursor=db.cursor()
sql='insert into job(id, job_title, job_salary, job_city, job_experience, job_education, company_name, company_type, company_status, company_people, job_tips, job_welfare) values ("%d", "%s", "%s", "%s", "%s", "%s", "%s", "%s", "%s", "%s", "%s", "%s")' % (id, job_title, job_salary, job_city, job_experience, job_education, company_name, company_type, company_status, company_people, job_tips, job_welfare);
print(sql)
cursor.execute(sql)
print(cursor.lastrowid)
db.commit()
except Exception as e:
print(e)
db.rollback()
def get_message():
for i in range(1, 31):
print('第' + str(i) + '頁')
time.sleep(random.randint(10, 20))
data={
'first': 'false',
'pn': i,
'kd': '數據分析'
}
response=requests.post(url=url, data=data, headers=headers)
result=json.loads(response.text)
job_messages=result['content']['positionResult']['result']
for job in job_messages:
global count
count +=1
# 崗位名稱
job_title=job['positionName']
print(job_title)
# 崗位薪水
job_salary=job['salary']
print(job_salary)
# 崗位地點
job_city=job['city']
print(job_city)
# 崗位經驗
job_experience=job['workYear']
print(job_experience)
# 崗位學歷
job_education=job['education']
print(job_education)
# 公司名稱
company_name=job['companyShortName']
print(company_name)
# 公司類型
company_type=job['industryField']
print(company_type)
# 公司狀態
company_status=job['financeStage']
print(company_status)
# 公司規模
company_people=job['companySize']
print(company_people)
# 工作技能
if len(job['positionLables']) > 0:
job_tips=','.join(job['positionLables'])
else:
job_tips='None'
print(job_tips)
# 工作福利
job_welfare=job['positionAdvantage']
print(job_welfare + '\n\n')
# 寫入數據庫
add_Mysql(count, job_title, job_salary, job_city, job_experience, job_education, company_name, company_type, company_status, company_people, job_tips, job_welfare)
if __name__=='__main__':
get_message()
獲取拉勾網數據分析崗數據
這里通過看箱形圖的四分位及中間值,大致能看出隨著工作年限的增長,薪資也是一路上升。
BOSS直聘里,1年以內工作經驗的薪資,有個最高4萬多的,這肯定是不合理的。
于是就去數據庫看了下,其實那個崗位要求是3年以上,但實際給的標簽卻是1年以內。
所以說數據來源提供的 數據的準確性 很重要。
總的來說「碩士」>「本科」>「大專」,當然大專、本科中也有高薪水的。
畢竟越往后能力就越重要,學歷算是一個 重要的加分項 。
正常來說,公司規模越大,薪水應該會越高。
畢竟大廠的工資擺在那里,想不知道都難。
數據分析崗主要集中在互聯網行業,「金融」「地產」「教育」「醫療」「游戲」也有所涉及。
這里可以看出大部分重點都圍繞著「五險一金」「福利多」「團隊氛圍好」「晉升空間大」「行業大牛領頭」上。