資料分析之前程無憂(一)

2021-10-23 11:35:30 字數 3135 閱讀 5860

這個是我們要爬取的**:前程無憂

前程無憂的**是乙個動態**來的,單純去抓取是無法抓取的,所以我們得找到他的介面,開啟**按f12

選擇network選項卡

顯然這個就是我們需要的找到的介面了

根據他給出來的url介面

其中1是指頁數,然後就根據他有多少頁數就寫乙個for迴圈來進行疊加就好了

for i in tqdm(

range(1

,2,1

)): url =

"".format

(i)

然後匹配到的內容就是我們需要獲取到的資料,這裡可以用json也可以用正則把**列印下來,這裡本人推薦最好是正則,有時候json容易出錯或者格式稍微有一點不一樣,資料就容易出錯,所以正則好一點

#招聘企業名稱

company_names = re.

compile

('"company_name":"(.*?)",'

,re.s|re.i)

company_name = company_names.findall(content)

#招聘企業規模

companysize_texts = re.

compile

('"companysize_text":"(.*?)",'

, re.s | re.i)

companysize_text = companysize_texts.findall(content)

#招聘企業性質

companytype_texts = re.

compile

('"companytype_text":"(.*?)",'

, re.s | re.i)

companytype_text = companytype_texts.findall(content)

#招聘工作地區

workarea_texts = re.

compile

('"workarea_text":"(.*?)",'

, re.s | re.i)

workarea_text = workarea_texts.findall(content)

#招聘職位名稱

job_names = re.

compile

('"job_name":"(.*?)",'

, re.s | re.i)

job_name = job_names.findall(content)

#招聘崗位薪資

providesalary_texts = re.

compile

('"providesalary_text":"(.*?)",'

, re.s | re.i)

providesalary_text = providesalary_texts.findall(content)

job_hrefs = re.

compile

('"job_href":"(.*?)",'

, re.s | re.i)

job_href = job_hrefs.findall(content)

jobdescribe =

providesalary =

這裡有一點有注意,因為獲取到的詳細頁面的時候,每個url都需要改一下,這也是網頁反爬蟲的乙個手段

for i in job_href:

job_url = i.replace(

"\\",""

) html = session.get(job_url)

html.encoding =

"gbk"

content = html.text

dom_test = etree.html(content)

job_describe = dom_test.xpath(

'//div[@class="tbordertop_box"]//div[@class="bmsg job_msg inbox"]/p/text()'

)

進去後,我們再用xpath語法來獲取詳細頁面的具體內容,並且把它們全部列印出來

最後用pandas

把獲取到的全部內容按順序列印到csv檔案裡面,最好設定乙個時間值,防止被系統檢測出來,反正也不缺那點時間

df = pd.dataframe(

) df[

"企業名稱"

]= company_name

df["企業規模"

]= companysize_text

df["企業性質"

]= companytype_text

df["工作地區"

]= workarea_text

df["職位名稱"

]= job_name

df["崗位薪資"

]= providesalary

df["崗位描述"

]= jobdescribe

try: df.to_csv(

"前程無憂.csv"

, mode=

"a+"

, header=

none

, index=

none

, encoding=

"gbk"

)print

("寫入成功"

)except

:print

("當頁資料寫入失敗"

) time.sleep(

1)

[外鏈轉存失敗,源站可能有防盜煉機制,建議將儲存下來直接上傳

前程無憂源**

資料分析之前程無憂(一)

資料分析之大街網(二)

資料分析之拉勾網(三)

資料分析之資料清洗(四)

基於前程無憂平台資料分析師崗位的薪資水平分析(二)

該篇在第一章結果的基礎上,對資料進行視覺化分析。小結使用tableau工具對統計範圍內省市區域的薪資上下限的平均水平進行繪製,得到如下地圖。為了直接對比不同地區對求職者經驗的要求 需求以及薪資情況,繪製如下條形圖。從條形圖觀察到,對於含有1年經驗及以上者的需求較大,這其中廣東和上海兩個地區的需求更高...

資料分析(一)

資料分析應用於各個領域,作為乙個python的程式設計師,又怎麼能不知道資料分析呢。學好資料分析才能學好機器學習,進而才能學習人工智慧,我們一起來了解下資料分析吧。一.啟動程式 執行命令 jupyter notebook 通過control c終止jupyter程式 幾個基本操作 1.雙擊d 刪除當...

超越Hadoop的大資料分析之前言

本文翻譯自 big data analytics beyond hadoop 譯者 吳京潤 校對 方騰飛 我試圖給人們學習大資料留下的一點深刻印象 儘管apache hadoop很有用,而且是一項非常成功的技術,但是這一觀點的前提已經有些過時了。考慮一下這樣一條時間線 由谷歌實現的mapreduce...