python零基礎網絡爬蟲:抓取4A級獵頭公司數據

1.序言

一個人的心有多大,世界就有多大,只是太多的人只能看到眼前的苟且,於是自己的一生就和苟且做鬥爭,最後也只是輸給了自己的眼界而已。今天要帶大家抓取的是銳仕方達獵頭網站,裏面有很多成功的招聘案例,這是一個靜態網站,適合初學者或者缺乏項目實戰經驗者學習,爲了方便大家理解和閱讀,我做了詳細的思路剖析。

2.項目實戰剖析

網站分析:

目標源地址url:www.risfond.com/case/fmcg/2…

python零基礎網絡爬蟲:抓取4A級獵頭公司數據

點擊右鍵查看網頁源代碼,會發現上圖方框內的內容在網頁源代碼(下圖)是可以找到的!
python零基礎網絡爬蟲:抓取4A級獵頭公司數據
所以我們可以使用python內置的模塊去訪問網址,這裏可以用requests或者urllib,因爲之前介紹過requests模塊的使用,這裏我們就不做過多闡述,直接用urllib開戰!雖然requests真的好用太多,但初學者其實也是需要學習內容的,技術無罪。接下來就開始我們的實戰!

實戰思路剖析:

1.獲取網站源碼

2.從源碼解析所需要的數據

3.數據存儲到excel

實戰步驟講解

第一步:獲取網站源碼

需要安裝的庫:pip install xlwt

第一步先導入urllib.request模塊,記住python2跟3在模塊上面使用是有區別的,這個模塊就是如此。

如果我們想訪問多個頁面的話需要找尋網站的網址規律是怎麼樣的

http://www.risfond.com/case/fmcg/26700 ,http://www.risfond.com/case/fmcg/26701,

點擊網址下一條就可以發現網址的規律,網址後面的數字是發生了改變的,

所以可以採用字符串格式化跟range函數,for in來進行使用,基礎知識附帶使用講解下。

1.range函數可以生成一個整數序列,裏面只有一個參數默認從0開始,2個參數是含頭不含尾,示例如下:

python零基礎網絡爬蟲:抓取4A級獵頭公司數據

2.字符串格式化,%s代表字符串,%d代表數字,當不知道用什麼的情況下可以用%s代替,format是用{}.format()的方式做到字符串格式化的。

python零基礎網絡爬蟲:抓取4A級獵頭公司數據

3.發送請求

    for i in range(26700,26716):
        url = 'http://www.risfond.com/case/fmcg/{}'.format(i)
        html = urllib.request.urlopen(url).read().decode('utf-8')#urlopen打開網址 read 讀取源代碼
        print(html)
複製代碼
第二步:從源碼解析所需要的數據

這裏用的是re正則表達式,可以根據一定的規則從源碼中匹配出相對應的內容,打個比方說,我去水果店買西瓜,西瓜的特徵是果綠色的外殼,紅色的果肉,橢圓形狀,都是根據這個特徵去尋找的,在網站中間也是如此,獲取的內容有着共同的標籤比如div,而且都是在一樣的html佈局中,就可以寫一個正則,用findall去從源碼html中匹配出來。

page_list = re.findall(r'<div class="sc_d_c">.*?<span class="sc_d_con">(.*?)</span></div>',html)
第三步:數據存儲到excel

根據內容,我覺得存儲到excel表格裏面會比較好,所以對每行也寫了一定的註釋,大家可以參考下!

newTable = 'test2019.xls'#表格名稱
    wb = xlwt.Workbook(encoding='utf-8') #創建excel文件  設置編碼
    ws = wb.add_sheet('rsfd')#表名稱
    headData = ['職位名稱','職位地點','時間','行業','招聘時間','人數','顧問']
    for colnum in range(0,7):
        ws.write(0,colnum,heData[colnum],xlwt.easyxf('font:bold on'))
    index = 1
    for j in range(0,len(items)):#計算數據有多少條
        for i in range(0,7):
            print(items[j][i])
            ws.write(index,i,items[j][i])#行數  列數   數據
        index+=1
    wb.save(newTable)#保存
複製代碼

結果如下:我們可以看到所有的數據都被抓下來,並且存儲到名爲test2019的文件夾了。
python零基礎網絡爬蟲:抓取4A級獵頭公司數據

到這裏咱們的案例就結束啦,是不是發現非常簡單,後續還會更新更多的內容,歡迎大家提出意見整改,如果本文對你學習有所幫助-可以點贊
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章