這個是我們要爬取的**:前程無憂
前程無憂的**是乙個動態**來的,單純去抓取是無法抓取的,所以我們得找到他的介面,開啟**按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...