简介
在大数据时代,信息的获取和处理变得越来越重要。对于求职者而言,能够快速准确地获取招聘信息是至关重要的。本文将介绍如何使用DrissionPage
库来自动化浏览并抓取招聘网站上的职位信息。我们将以Boss直聘为例,展示如何抓取与Python爬虫工程师相关的职位列表。
准备工作
在开始之前,请确保你的开发环境中安装了以下Python库:
drissionpage
: 用于浏览器自动化操作。json
: Python标准库,用于处理JSON数据。DataRecorder
: 自定义或第三方库,用于记录数据到CSV文件。
你可以通过pip命令安装drissionpage
:
pip install drissionpage -i https://pypi.tuna.tsinghua.edu.cn/simple
特别注意:由于它可以支持半自动化的,需要我们使用手机端的App去进行扫码登录才能够进行爬取数据
代码详解
导入必要的模块
首先,我们需要导入项目所需的库。
from DrissionPage import ChromiumPage # 用于浏览器自动化操作
import json # 用于处理JSON数据
from DataRecorder import Recorder # 用于记录数据
初始化数据记录器
创建一个Recorder
对象,指定要保存的数据文件路径以及缓存大小。
recorder = Recorder(path=r"./data.csv", cache_size=500)
recorder.add_data(['公司名称', '老板', '公司规模', '工作城市', '公司标签', '工作名称', '工作技能', '公司福利', '薪资'])
启动浏览器并访问目标页面
初始化ChromiumPage
对象,并打开目标网站。
#打开浏览器
page = ChromiumPage()
#设置要监听的数据包
page.listen.start('wapi/zpgeek/search/joblist.json?scene=1&query=python')
#访问指定的招聘网站,并选择城市
page.get('https://www.zhipin.com/web/geek/job?query=python%E7%88%AC%E8%99%AB%E5%B7%A5%E7%A8%8B%E5%B8%88&city=100010000')
page.ele('x://span[@class="city-label"]').click()
page.wait.load_start()
page.ele('x://ul[@class="city-list-hot"]/li[1]').click()
page.wait.load_start()
数据抓取循环
这里我们进入一个无限循环,直到没有更多的页码为止。
i =
标签:浏览器,直聘,抓取,Boss,DrissionPage,Recorder,数据,page
From: https://blog.csdn.net/2301_78198846/article/details/142858500