爬取boss直聘简单案例

这篇具有很好参考价值的文章主要介绍了爬取boss直聘简单案例。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

前提准备

以chrome自动化为例

  1. 下载浏览器驱动

    • 最新版本:Chrome for Testing availability (googlechromelabs.github.io)

    • 旧版本:ChromeDriver - WebDriver for Chrome - Downloads (chromium.org)

  2. 查看chrome的版本

    • 设置->关于chrome
    • 如图116版本,大版本号要和驱动对应
    • 下载如图116稳定版
  1. 安装驱动
    • 将下载好的chromedriver.exe复制到python安装路径下的Scripts(如果没有这一步,需要在代码中手动配置路径)
  1. 安装相关第三方库,在终端输入如下文章来源地址https://www.toymoban.com/news/detail-675301.html

    • pip install selenium
      
    • pip install openpyxl  # 存储数据到excel
      

源代码

from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
import openpyxl


class ZhipinSpider():
    def __init__(self):
        # 创建 Chrome 实例
        self.driver = webdriver.Chrome()

    def search_data(self, city, job):
        self.city = city
        self.job = job
        # 打开网页
        self.driver.get(f"https://www.zhipin.com/{self.city}")  # 请替换为您要访问的网页地址
        # 定位到具有特定 class 的输入框元素
        input_element = self.driver.find_element(By.CLASS_NAME, "ipt-search")
        # 向输入框输入内容
        input_element.send_keys(self.job)
        button_element = self.driver.find_element(By.CLASS_NAME, "btn-search")
        button_element.click()
        wait = WebDriverWait(self.driver, 10)
        job_list_elements = wait.until(EC.presence_of_all_elements_located((By.CLASS_NAME, "job-card-wrapper")))

        # 创建一个新的 Excel 工作簿和工作表
        wb = openpyxl.Workbook()
        ws = wb.active

        for index, job_element in enumerate(job_list_elements):
            company_name = job_element.find_element(By.CLASS_NAME, "company-name").text
            job_name = job_element.find_element(By.CLASS_NAME, "job-name").text
            job_area = job_element.find_element(By.CLASS_NAME, "job-area").text
            job_salary = job_element.find_element(By.CLASS_NAME, "salary").text
            taglist = job_element.find_element(By.CLASS_NAME, "tag-list").text.split('\n')
            job_career = taglist[0]
            job_edu = taglist[1]

            # 将数据写入工作表的行中
            ws.append([company_name, job_name, job_area, job_salary, job_career, job_edu])

        # 保存 Excel 文件
        wb.save(f'{self.city}.xlsx')

    def main(self):
        self.search_data('shanghai', '初级软件测试')


if __name__ == '__main__':
    zp = ZhipinSpider()
    zp.main()
    input("按下回车键以关闭浏览器...")
    zp.driver.quit()
  • 修改main函数参数可以选择爬取其他城市和其他岗位信息

常见报错

raise TimeoutException(message, screen, stacktrace) selenium.common.exceptions.TimeoutException: Message: 
  • 可能原因:等待时间超过指定的时间但元素仍未出现,就会引发,一般与测试时网络情况有关
  • 解决办法:修改wait = WebDriverWait(self.driver, 10)参数增加等待时间

爬取结果

到了这里,关于爬取boss直聘简单案例的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 爬虫与数据分析项目实战2.1 Selenium爬取Boss招聘信息

    完成: 1.爬取信息 2.基于爬取结果筛选符合条件的信息    岗位名称、薪资、岗位要求、地区、公司名称、公司规模、细节链接 3.筛选base杭州的岗位保存到csv文件中 But容易出现网络不稳定造成的无法定位元素所在位置的情况,小范围爬取可以 4.基于csv分析后续

    2024年02月08日
    浏览(44)
  • BOSS直聘招聘经验

    招聘低端兼职岗位。流量很大,来的人通常实力也不足。 招聘高端兼职岗位。流量不多。来的人通常具备一定实力。 招聘高薪职位,流量一般,会有有实力的勾搭。 招聘低薪职位,流量一般。通常没什么实力。

    2024年02月21日
    浏览(45)
  • 28 | Boss直聘数据分析

    针对boss直聘网的招聘信息,然后分析互联网发展排名前十的城市在互联网方面职位的薪水,学历要求,经验要求,等等信息。 准备从以下几个方面进行分析: (1)各个城市的平均工资 (2)各个学历的平均工资 (3)各个岗位的平均工资 (4)不同工作经验要求的工资 (5)

    2024年02月12日
    浏览(41)
  • BOSS直聘自动投简历聊天机器人的实现过程

            这两年疫情,公司业务越来越差,必须得准备后路了,每天睡前都会在直聘上打一遍招呼,一直到打哈欠有睡意为止...,这样持续了一周,发现很难坚持,身为一名资深蜘蛛侠,怎么能这样下去呢?于是便萌生了对BOSS下手的念头。         boss的web端功能已经挺完

    2023年04月22日
    浏览(30)
  • 【Java】Selenium自动投简历(Boss直聘、猎聘、拉勾、51job)

    项目地址:https://github.com/loks666/get_jobs 第一步:配置Chrome(需和diver版本一致) driver目前已放进根目录,版本号是:122.0.6261.112,Chrome需要更新到最新版本。 若后面发生升级,请自行下载对应版本的driver driver下载链接:https://googlechromelabs.github.io/chrome-for-testing 例:你的路径是:

    2024年04月16日
    浏览(28)
  • 【爬虫案例】用Python爬取抖音热榜数据!

    目录 一、爬取目标 二、编写爬虫代码 三、同步讲解视频 3.1 代码演示视频 四、获取完整源码 您好,我是@马哥python说,一名10年程序猿。 本次爬取的目标是:抖音热榜 共爬取到50条数据,对应TOP50热榜。含5个字段,分别是: 热榜排名,热榜标题,热榜时间,热度值,热榜标签。

    2024年02月16日
    浏览(57)
  • 【爬虫案例】用Python爬取知乎热榜数据!

    目录 一、爬取目标 二、编写爬虫代码 三、同步讲解视频 3.1 代码演示视频 3.2 详细讲解视频 四、获取完整源码 您好,我是@马哥python说,一名10年程序猿。 本次爬取的目标是:知乎热榜 共爬取到6个字段,包含: 热榜排名, 热榜标题, 热榜链接, 热度值, 回答数, 热榜描述。 用

    2024年02月15日
    浏览(47)
  • 【经典爬虫案例】用Python爬取微博热搜榜!

    目录 一、爬取目标 二、编写爬虫代码 2.1 前戏 2.2 获取cookie 2.3 请求页面 2.4 解析页面 2.5 转换热搜类别 2.6 保存结果 2.7 查看结果数据 三、获取完整源码 您好,我是@马哥python说,一名10年程序猿。 本次爬取的目标是: 微博热搜榜 ​ 分别爬取每条热搜的: 热搜标题、热搜排名

    2024年02月13日
    浏览(44)
  • Python爬虫实战——爬取新闻数据(简单的深度爬虫)

            又到了爬新闻的环节(好像学爬虫都要去爬爬新闻,没办法谁让新闻一般都很好爬呢XD,拿来练练手),只作为技术分享,这一次要的数据是分在了两个界面,所以试一下深度爬虫,不过是很简单的。  网页url 1.先看看网站网址的规律  发现这部分就是每一天的新闻

    2024年02月11日
    浏览(42)
  • 【爬虫案例】用Python爬取百度热搜榜数据!

    目录 一、爬取目标 二、编写爬虫代码 三、同步视频讲解 四、完整源码 您好,我是@马哥python说,一名10年程序猿。 本次爬取的目标是:百度热搜榜 分别爬取每条热搜的: 热搜标题、热搜排名、热搜指数、描述、链接地址。 下面,对页面进行分析。 经过分析,此页面有XH

    2024年02月13日
    浏览(37)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包