
岗位结构在怎么变,不必只转述别人的结论,自己动手算一遍更可靠。公开报告可作参照(如 LinkedIn 就业报告、猎聘《2026 FDE 人才供需趋势洞察报告》),本文聚焦方法:采集 → 入库 → 分析 → 可视化。
合规前提:遵守目标站点 robots 协议与服务条款,控制请求频率,仅用于个人学习研究。
import csv
import time
import requests
def fetch_page(keyword: str, page: int) -> list:
"""按关键词拉取一页职位列表,接口地址请替换为合规数据源。"""
resp = requests.get(
"https://你的数据源地址/api/jobs",
params={"kw": keyword, "page": page},
headers={"User-Agent": "research-script/1.0"},
timeout=10,
)
resp.raise_for_status()
return resp.json()["items"]
rows = []
for kw in ["智能体", "数字人", "AI运营", "客服", "文案"]:
for p in range(1, 4):
rows += fetch_page(kw, p)
time.sleep(2)
with open("jobs.csv", "w", newline="", encoding="utf-8") as f:
writer = csv.DictWriter(
f, fieldnames=["title", "salary_min", "salary_max", "city", "publish_date"]
)
writer.writeheader()
writer.writerows(rows)CREATE TABLE job_posting (
id INTEGER PRIMARY KEY AUTOINCREMENT,
title TEXT NOT NULL,
category TEXT,
salary_min REAL,
salary_max REAL,
city TEXT,
publish_date TEXT
);
CREATE INDEX idx_category ON job_posting(category);import pandas as pd
df = pd.read_csv("jobs.csv")
AI_KEYS = ["智能体", "数字人", "AI", "大模型", "提示词"]
def classify(title: str) -> str:
return "AI应用类" if any(k in title for k in AI_KEYS) else "传统运营类"
df["category"] = df["title"].map(classify)
df["salary_mid"] = (df["salary_min"] + df["salary_max"]) / 2
summary = df.groupby("category").agg(
职位数=("title", "count"),
薪资中位数=("salary_mid", "median"),
)
print(summary)import matplotlib.pyplot as plt
summary["职位数"].plot(kind="bar")
plt.ylabel("职位数")
plt.tight_layout()
plt.savefig("jobs.png", dpi=150)若数据源提供投递量,可进一步计算供需比 = 投递量 ÷ 职位数。文章中的结论应由你跑出的真实数据回填,以上代码只负责把方法跑通。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。