BOSS直聘 数据爬虫分析 (bosszp)
环境要求
- Python 3.x
- MySQL
- Scrapy
- Pandas + SQLAlchemy
- Flask + Highcharts
安装依赖
pip install scrapy
pip install flask pandas sqlalchemy pymysql
pip install flash
数据采集
1. 创建 Scrapy 项目
scrapy startproject bosszp
cd bosszp
scrapy genspider boss zhipin.com
2. 配置 Cookie 和请求头
编辑 settings.py:
COOKIES_ENABLED = True
USER_AGENTS = [
'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36...',
...
]
# 爬取延迟(避免被封)
DOWNLOAD_DELAY = 2
3. 运行爬虫
scrapy crawl boss -o output.csv
数据导出
CSV 格式
岗位名称,岗位地区,薪资,公司名称,公司类型,公司规模,融资阶段,工作年限,学历,福利标签
导入 MySQL
python clean_data.py # 数据清洗 + 导入 MySQL
可视化看板
cd web
export FLASK_APP=run.py
flask run
# 访问 http://127.0.0.1:8080/
看板包含:
- 饼图: 公司融资阶段分布
- 柱状图: 薪资分布 Top10
- 词云: 岗位福利标签词云
- 表格: 公司排名 Top10(按岗位数量)
字段说明
| 字段 | 说明 |
|---|---|
| job_name | 岗位名称 |
| job_area | 工作地区 |
| job_salary | 薪资范围 |
| com_name | 公司名称 |
| com_type | 公司类型(国企/民营等) |
| com_size | 公司规模 |
| finance_stage | 融资阶段 |
| work_year | 工作年限要求 |
| education | 学历要求 |
| job_benefits | 福利标签 |