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

1.序言

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

2.項目實戰剖析

網站分析:

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

點擊右鍵查看網頁源代碼,會發現上圖方框內的內容在網頁源代碼(下圖)是能夠找到的! python

因此咱們可使用python內置的模塊去訪問網址,這裏能夠用requests或者urllib,由於以前介紹過requests模塊的使用,這裏咱們就不作過多闡述,直接用urllib開戰!雖然requests真的好用太多,但初學者其實也是須要學習內容的,技術無罪。接下來就開始咱們的實戰!

實戰思路剖析:

1.獲取網站源碼正則表達式

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

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個參數是含頭不含尾,示例以下: 學習

2.字符串格式化,%s表明字符串,%d表明數字,當不知道用什麼的狀況下能夠用%s代替,format是用{}.format()的方式作到字符串格式化的。 網站

3.發送請求ui

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的文件夾了。

到這裏我們的案例就結束啦,是否是發現很是簡單,後續還會更新更多的內容,歡迎你們提出意見整改,若是本文對你學習有所幫助-能夠點贊👍+ 關注!將持續更新更多新的文章。感謝!
< 學習中有遇到不懂得問題能夠找我諮詢 >

相關文章
相關標籤/搜索