堆疊資訊獲取value 招聘職位資訊爬取

2021-10-14 19:40:08 字數 1570 閱讀 2413

1、網路抓包

我使用的是谷歌瀏覽器,通過抓包分析發現職位資訊請求的資料介面是:

構造請求引數,請求資料,示例**如下:

get_position函式需要傳達兩個引數,kd代表請求的關鍵字,pn代表請求的頁數。這樣的確可以請求到拉勾的職位資料,當我們實際執行指令碼的時候就會發現,在抓取10頁資料之後,便會請求不到資料。通過分析發現,cookie資訊在請求10頁的資料之後,就會失效。所以我們並不能把cookie寫死,作為引數攜帶過去。如何動態獲取cookie資訊呢?通過分析發現,cookie資訊的請求介面是:

所以,我們在請求職位資料之前需要動態獲取cookie資訊,示例**如下:

這裡我採用了session來達到多個請求之間共享cookie資訊。我們在請求完10頁資料之後,便需要重新獲取一次cookie。示例**如下:

for page in range(1,31):

if page%10 == 0:

get_cookies() # cookie資訊在請求10之後會失效,需要重新獲取

到這裡資料的抓取是沒什麼問題了,接下來就是資料的儲存,這裡儲存在excel檔案中,示例**如下:

資料一行一行地寫入excel**中,採集的字段包括發布時間,公司名稱,公司規模,公司標籤,招聘崗位,崗位標籤,崗位福利,城市,地區,薪資,學歷,工作經驗,工作性質,崗位詳情鏈,公司詳情鏈結15個字段 儲存格式如下:

到這裡我們就基本上完成了資料的抓取工作。接下來就是對資料的統計和分析,以及資料的視覺化。這裡就沒有繼續寫下去啦。最後總結一下:

網路爬蟲的大概分為以下步驟

1、網路抓包、分析資料請求介面

2、構造請求引數,請求資料

3、資料儲存

4、資料分析以及視覺化(基於對抓取資料的分析和展示)

希望我的分享對你有所幫助或者啟發,本期推文就到這裡啦。

關注哥們並肩走過

與你分享我的

生活趣事/好物推薦/旅行見聞/程式設計思考

Python爬取智聯招聘職位資訊

from urllib import request from urllib import parse from bs4 import beautifulsoup import csv 管理json資料的模組的 import json 定義智聯的爬蟲類 class zhilianspider obj...

使用backtrace獲取堆疊資訊

一些記憶體檢測工具如valgrind,除錯工具如gdb,可以檢視程式執行時函式呼叫的堆疊資訊,有時候在分析程式時要獲得堆疊資訊,借助於backtrace是很有幫助的,其原型如下 include int backtrace void buffer,int size char backtrace sym...

使用backtrace獲取堆疊資訊

gdb將當前函式的棧幀編號為0,為外層函式的棧幀依次加1,這些編號將成為一些gdb命令的引數,以指明將要操作的是哪乙個函式的棧幀。gdb還支援使用address作為棧幀的識別符號,可在棧幀編號被破壞的情況下使用。1.在棧幀之間切換 gdb中有很多針對呼叫堆疊的命令,都需要乙個目標棧幀,例如列印區域性...