用Python爬取拉鉤網招聘職位資訊

2021-09-30 14:02:30 字數 2648 閱讀 5353

本文實現自動爬取拉鉤網招聘資訊,並將爬取結果儲存在本地文字中(也可以將資料存入資料庫)

使用到的python模組包(python3):

1.urllib.request

2.urllib.parse

3.json

簡單分析:

1.在向伺服器傳送請求,需要傳入post引數

2.搜尋的職位列表資訊存在乙個josn檔案中,可使用json模組解析

3.翻頁

本文使用while true和break結合,根據json中result的值是否為空來判斷當前要是否是最後一頁,也可以根據json檔案中pagesize和totalcount兩個欄位的值得出總的頁面數。

完整**:

import urllib.request

import urllib.parse

import json

defopen_url

(url,page_num,keywords):

try:

#設定post請求引數

page_data=urllib.parse.urlencode([

('pn',page_num),

('kd',keywords)

])#設定headers

page_headers=

#開啟網頁

req=urllib.request.request(url,headers=page_headers)

content=urllib.request.urlopen(req,data=page_data.encode('utf-8')).read().decode('utf-8')

return content

except exception as e:

print(str(e))

#獲取招聘職位資訊

defget_position

(url,page_num):

try:

page_content=open_url(url,page_num,keywords)

data=json.loads(page_content)

content=data.get('content')

result=[('positionid','職位id'),('positionname','職位名稱'),('salary','薪資'),('createtime','發布時間'),('workyear','工作經驗'),('education','學歷'),('positionlables','職位標籤'),('jobnature','職位型別'),('firsttype','職位大類'),('secondtype','職位細類'),('positionadvantage','職位優勢'),('city','城市'),('district','行政區'),('businesszones','商圈'),('publisherid','發布人id'),('companyid','公司id'),('companyfullname','公司名'),('companyshortname','公司簡稱'),('companylabellist','公司標籤'),('companysize','公司規模'),('financestage','融資階段'),('industryfield','企業領域'),('industrylables','企業標籤')]

positionresult=content.get('positionresult').get('result')

if(len(positionresult)>0):

for position in positionresult:

with open("position.txt",'a') as fh:

fh.write("---------------------------\n")

for r in result:

with open("position.txt",'a') as fh:

fh.write(str(r[1])+":"+str(position.get(r[0]))+"\n")

return len(positionresult)

except exception as e:

print(str(e))

#爬取拉勾網招聘職位資訊

if __name__=="__main__":

#爬取起始頁

url=''

keywords="資料探勘"

page_num=1

while

true:

print("正在爬取第"+str(page_num)+"頁......")

result_len=get_position(url,page_num)

if(result_len>0):

page_num+=1

else:

break

print("爬取完成")

爬取結果:

python丨Selenium爬取拉鉤職位資訊

第一頁職位資訊 from selenium import webdriver from lxml import etree import re import time class lagouspider object def init self self.driver webdriver.chrom...

爬蟲(5) 爬取拉鉤網資料

importjson importurllib fromurllibimportparse,request importmath 請求頭 headers 獲得相關網頁數方法 defgetpagenum kw url 路由 沒有輸查詢關鍵字的路由 url form data data url編碼 da...

Python爬取拉勾網招聘資訊

最近自學研究爬蟲,特找個地方記錄一下 就來到了51cto先測試一下。第一次發帖不太會。先貼個 首先開啟拉勾網首頁,然後在搜尋框輸入關鍵字python。開啟抓包工具。因為我的是mac os,所以用的自帶的safari瀏覽器的開啟時間線錄製。通過抓取post方法,可以看到完整url 然後可以發現post...