一、前言
在求职或行业调研过程中,我们常常需要批量获取招聘平台的岗位信息,手动复制粘贴效率极低。本文将通过 DrissionPage 框架实现BOSS 直聘大数据开发岗位的批量爬取,无需分析复杂的页面元素,直接监听接口数据包获取 JSON 数据,最终将结果存入 CSV 文件,全程代码简洁易懂,新手也能快速上手。
本次实战目标
- 监听 BOSS 直聘岗位列表接口,获取结构化 JSON 数据
- 提取岗位名称、公司、薪资、学历要求等核心信息
- 将爬取结果批量存入 CSV 文件,方便后续数据分析
- 实现自动翻页,爬取前 20 页的岗位数据
二、环境准备
1. 所需 Python 库
本次实战核心使用 DrissionPage 框架(集 Selenium 和 Requests 优势于一体,支持接口监听、页面操作),另外使用 Python 内置的 csv 模块处理文件,pprint 用于格式化输出。
安装核心库
打开终端 / 命令提示符,执行以下安装命令:
pip install DrissionPage
2. 环境说明
- Python 版本:3.9 及以上(推荐 3.9~3.11)
- 操作系统:Windows/macOS/Linux 均兼容
- 无需额外配置浏览器:
DrissionPage会自动适配本地 Chrome 浏览器,若未安装 Chrome,框架会提示自动下载
三、完整实战代码
直接复制以下代码,运行即可实现爬取(无需修改核心内容,可根据需求调整岗位关键词和爬取页数)。
# 导入自动化模块(核心:页面操作 + 接口监听)
from DrissionPage import ChromiumPage
# 格式化输出(方便调试,查看数据结构)
from pprint import pprint
# 导入 csv 模块(处理 CSV 文件写入)
import csv
def crawl_boss_zhipin():
# 1. 初始化 CSV 文件,配置表头和写入对象
with open('boss.csv', mode='w', encoding='utf-8', newline='') as f:
# 定义 CSV 文件表头字段
csv_fieldnames = [
'岗位名称', '公司', '规模', '公司领域', '学历要求', '经验要求',
, , , , , , ,
]
csv_writer = csv.DictWriter(f, fieldnames=csv_fieldnames)
csv_writer.writeheader()
dp = ChromiumPage()
dp.listen.start()
target_url =
dp.get(target_url)
total_pages =
page (, total_pages + ):
()
:
resp = dp.listen.wait()
json_data = resp.response.body
job_list = json_data[][]
job job_list:
job_info = {
: job.get(, ),
: job.get(, ),
: job.get(, ),
: job.get(, ),
: job.get(, ),
: job.get(, ),
: job.get(, []),
: job.get(, []),
: job.get(, ),
: job.get(, ),
: job.get(, ),
: job.get(, ),
: job.get(, {}).get(, ),
: job.get(, {}).get(, )
}
csv_writer.writerow(job_info)
pprint(job_info)
dp.scroll.to_bottom()
Exception e:
()
dp.quit()
()
__name__ == :
crawl_boss_zhipin()

