# Python怎么爬取招聘數據并進行分析
在當今數據驅動的時代,招聘數據的爬取與分析能幫助求職者了解行業趨勢,也能為企業提供人才競爭洞察。本文將介紹如何用Python爬取主流招聘網站數據,并進行基礎分析。
---
## 一、爬取招聘數據
### 1. 準備工作
- 安裝依賴庫:
```python
pip install requests beautifulsoup4 pandas selenium
robots.txt
確認爬取合法性import requests
from bs4 import BeautifulSoup
url = "https://sou.zhaopin.com/?jl=北京&kw=Python"
headers = {'User-Agent': 'Mozilla/5.0'}
response = requests.get(url, headers=headers)
soup = BeautifulSoup(response.text, 'html.parser')
jobs = []
for item in soup.select('.joblist-box__item'):
title = item.select_one('.job-name').text.strip()
company = item.select_one('.company-name').text.strip()
salary = item.select_one('.salary').text.strip()
jobs.append([title, company, salary])
from selenium import webdriver
driver = webdriver.Chrome()
driver.get(url)
jobs = driver.find_elements_by_css_selector('.joblist-box__item')
# 后續解析邏輯類似...
import pandas as pd
df = pd.DataFrame(jobs, columns=['職位','公司','薪資'])
# 處理薪資范圍(示例:15K-30K → 取平均值)
df['平均薪資'] = df['薪資'].apply(lambda x:
sum([float(i) for i in x.replace('K','').split('-')])/2)
# 保存為CSV
df.to_csv('jobs_data.csv', index=False)
# 或存儲到數據庫(SQLite示例)
import sqlite3
conn = sqlite3.connect('jobs.db')
df.to_sql('jobs', conn)
print(df.describe()) # 數值統計
print(df['公司'].value_counts().head(10)) # 招聘最多公司TOP10
import matplotlib.pyplot as plt
# 薪資分布直方圖
df['平均薪資'].plot(kind='hist', bins=20)
plt.title('Python崗位薪資分布')
plt.xlabel('薪資(K)')
plt.show()
# 公司招聘數量餅圖
df['公司'].value_counts()[:5].plot.pie(autopct='%1.1f%%')
plt.title('招聘量TOP5公司占比')
反爬機制應對:
time.sleep(random.uniform(1,3))
)法律合規:
數據分析擴展:
通過以上方法,我們可以系統性地獲取并分析招聘數據,為職業決策或企業招聘策略提供數據支持。實際應用中建議根據目標網站結構調整爬蟲邏輯,并持續優化數據分析維度。 “`
(全文約750字,包含代碼示例和結構化說明)
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。