【限时删!绝命Coding助力秋招】Python实现Boss海投脚本

news2024/9/29 9:55:20

 hello hello~ ,这里是绝命Coding——老白~💖💖 ,欢迎大家点赞🥳🥳关注💥💥收藏🌹🌹🌹
19d95742d45b4220ad0ae0359ffcba93.png

💥个人主页:绝命Coding-CSDN博客
💥 所属专栏:后端技术分享
这里将会不定期更新有关后端、前端的内容,希望大家多多点赞关注收藏💖

大家实习秋招应该都会投递简历的烦恼吧,老白在这里给大家一个Boss海投脚本,就可以省去人力的麻烦,大家每天在选完自己想投的公司后,不妨使用脚本把每天可以沟通100次都投完。海投越多,机会越大。欢迎大家关注公众号和CSDN,后续会提供更新版的Boss海投脚本(油猴脚本,不用插件),欢迎大家多多提意见~

使用说明:  
【使用前准备】  
(1)安装以下包,在cmd执行以下命令  
(如果在Pycharm在最下方的terminal执行命令即可)  
pip install webdriver-manager  
pip install selenium  
pip install packaging  
(2)下载谷歌浏览器  
(3)第一次运行请先将 30行代码 的 frequency 变量改成1,会自动下载谷歌驱动  
(我的被安装在 'C:\Users\orall\.wdm\drivers\chromedriver\win32\107.0.5304\chromedriver.exe' 路径下)  
    下载完成后,将 30行代码 path 变量 改成 驱动的对应位置  
【使用准备】  
(1)将 30行代码 的 frequency 变量改成非1的数字  
(2)启动程序后,直接扫码即可,然后待加载完成,需要在20秒内进行搜索或者筛选岗位,  
    如果未进行操作,则直接在默认推荐页进行投递【提示】  
使用过程一开始,浏览器可能会出现不断加载的过程,不必担心这是正常现象,耐心等待即可 

"""  
作者: 绝命Coding-老白
公众号:绝命Coding
CSDN:https://blog.csdn.net/qq_33445788?spm=1010.2135.3001.5343
使用说明:  
【使用前准备】  
(1)安装以下包,在cmd执行以下命令  
(如果在Pycharm在最下方的terminal执行命令即可)  
pip install webdriver-manager  
pip install selenium  
pip install packaging  
(2)下载谷歌浏览器  
(3)第一次运行请先将 30行代码 的 frequency 变量改成1,会自动下载谷歌驱动  
(我的被安装在 'C:\Users\JueMingCoding\.wdm\drivers\chromedriver\win32\107.0.5304\chromedriver.exe' 路径下)  
    下载完成后,将 30行代码 path 变量 改成 驱动的对应位置  
【使用准备】  
(1)将 30行代码 的 frequency 变量改成非1的数字  
(2)启动程序后,直接扫码即可,然后待加载完成,需要在20秒内进行搜索或者筛选岗位,  
    如果未进行操作,则直接在默认推荐页进行投递【提示】  
使用过程一开始,浏览器可能会出现不断加载的过程,不必担心这是正常现象,耐心等待即可  
"""  
  
  
from selenium import webdriver  
from selenium.webdriver.chrome.service import Service  
import time  
  
from selenium import webdriver  
from webdriver_manager.chrome import ChromeDriverManager  
  
  
# 表示是否为第一次使用,第一次使用选择1会自动下载驱动,否则设为其他  
frequency = 1  
# chromedriver驱动路径,这里自己找到下载的默认位置,改成相应的  
path = r'C:\Users\JueMingCoding\.wdm\drivers\chromedriver\win32\107.0.5304\chromedriver.exe'  
  
# 下载驱动  
def downdriver():  
    driver = webdriver.Chrome(ChromeDriverManager().install())  
  
# 检查存在再进行数据的  
# 关注公众号(绝命Coding)获取最新脚本
def check_find_elements(bro,by,value):  
    # 等待元素加载完毕  
    while (True):  
        try:  
            # 注意.是class name的意思  
            bro.find_element(by, value)  
            #print(value + "找到")  
            break  
        except Exception:  
            continue  
    return bro.find_elements(by, value)  
  
# 检查存在再进行数据的  
def check_find_element(bro,by,value):  
    # 等待元素加载完毕  
    while (True):  
        try:  
            # 注意.是class name的意思  
            bro.find_element(by, value)  
            #print(value + "找到")  
            break  
        except Exception:  
            continue  
    return bro.find_element(by, value)  
  
# 点击按钮进行沟通  
def deal(bro):  
    cls = bro.window_handles  
    bro.switch_to.window(cls[1])  
    chat = check_find_element(bro, "css selector", "[class='btn btn-startchat']")  
    chat.click()  
    bro.close()  
    bro.switch_to.window(cls[0])  
  
# 打开页面  
# 关注公众号(绝命Coding)获取最新脚本
def open():  
    s = Service(path)  
    bro = webdriver.Chrome(service=s)  
    bro.get("https://login.zhipin.com/?ka=header-login")  
    check_find_element(bro, "css selector","[class='job-card-wrapper']")  
    #check_find_element(bro, "xpath", '//*[@id="container"]/div[2]/div/div[1]/div/div[2]/div/div[1]/input').send_keys(search)  
    #time.sleep(1000)    #check_find_element(bro, "css selector", "[class='btn btn-search']").click()    #time.sleep(100)    print("请在20秒内完成搜索或者筛选工作,否则默认在推荐页面进行投递 ~")  
  
    for i in range(20):  
        print("时间还剩"+str(20-i)+"秒……")  
        time.sleep(1)  
    print("开始海投~")  
    while(True):  
        #jobs = check_find_elements(bro, "css selector", '.info-primary-wrap')  
        # btn btn-startchat-out        # start-chat-btn        # 推荐页start-chat-btn  
        jobs = check_find_elements(bro, "css selector", "[class='job-card-wrapper']")  
  
  
        #print(jobs)  
        for job in jobs:  
            try:  
                job.click()  
            except Exception:  
                continue  
            deal(bro)  
        next_index(bro)  
    time.sleep(100)  
  
# 点击下一页  
# 关注公众号(绝命Coding)获取最新脚本
def next_index(bro):  
    check_find_element(bro, "xpath", '//*[@id="container"]/div[2]/div/div[3]/div[3]/div/div/a[10]').click()  
  
# 关注公众号(绝命Coding)获取最新脚本
if __name__ == '__main__':  
    print("- Boss一键投递脚本启动成功 -")  
    if( frequency == 1 ):  
        print("第一次运行,正在下载驱动 ~ ")  
        downdriver()  
        print("下载成功,请修改frequency变量并重新启动")  
    else:  
        print("正在启动浏览器 ~")  
        open()  
  

更多精彩文章(篇幅过大,不一一列出,感兴趣的小伙伴可以前往专栏查看):

一份合格的简历应该如何写?-CSDN博客(强推)

简历如何优化以及如何应对面试【后端篇】-CSDN博客

 

大厂面试官问我:Redis处理点赞,如果瞬时涌入大量用户点赞(千万级),应当如何进行处理?【后端八股文一:Redis点赞八股文合集】-CSDN博客

大厂面试官问我:布隆过滤器有不能扩容和删除的缺陷,有没有可以替代的数据结构呢?【后端八股文二:布隆过滤器八股文合集】-CSDN博客

大厂面试官问我:Redis持久化RDB有没有可能阻塞?阻塞点在哪里?【后端八股文三:Redis持久化八股文合集】-CSDN博客

大厂面试官问我:Redis内存淘汰,LRU维护整个队列吗?【后端八股文四:Redis内存淘汰策略八股文合集】-CSDN博客

 

      本文限时删,后期新的Boss海投脚本会继续分享,感兴趣的小伙伴可以给个三连~

 更多精彩内容以及免费资料请关注公众号:绝命Coding

914cbb12b2c3492aaa31232a11aa9c64.png

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1913409.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

哪有什么「历史的垃圾时间」,有的只是你对自己的不诚实

时间不会服从任何人的管理,它只会自顾自地流逝。— 李笑来《把时间当作朋友》 hi,欢迎来到我的杂货铺。 最近有个概念火了,叫做「历史的垃圾时间」。 看了下相关的文章,大概是在宣扬奥地利派经济学家米赛斯关于历史的一段论述&a…

MQ四兄弟:如何保证消息顺序性

在当今的分布式系统架构中,消息队列(MQ)是不可或缺的组成部分。它们在确保系统组件之间高效通信方面发挥着关键作用。特别是在金融交易、物流跟踪等对消息处理顺序有严格要求的场景中,消息队列的顺序性保证显得更为重要。接下来&a…

计算机网络——网络层(概念及IP地址划分)

目录 网络层概念 网络层向上层提供的两种服务 虚电路 网络提供数据报服务 虚电路服务与数据报服务的对比 网络层的两个层面 分组传送到路由器的运作 对网络层进行分层 网际协议IP 虚拟互联网络 IP地址 IP地址及其表示方法 IP地址的计算方式 IP地址的结构 …

算法的时间复杂度(C语言)

1.时间复杂度的定义 在计算机科学中,算法的时间复杂度是一个函数,它定量描述了算法的运行时间。一个算法所花费的时间与其中语句的执行次数成正比列,算法中的基本操作的执行次数,为算法的时间复杂度 例1: 计算Func1…

Midjourney 如何使用参考图像来提升图像的准确性和相似度?

🧙🏼图像提示 🧙🏼‍♂️ 您可以使用图像作为提示的一部分来影响作业的构图、样式和颜色。图像提示可以单独使用,也可以与文本提示一起使用 - 尝试组合具有不同样式的图像以获得最令人兴奋的结果。 🛠️实…

合合信息大模型加速器重磅上线,释放智能文档全新可能

目录 0 写在前面1 高速文档解析引擎:拓宽大模型认知边界2 文本嵌入模型acge:克服大模型感知缺陷3 行业赋能:以百川智能为例总结 0 写在前面 随着人工智能技术的飞速发展,大模型以强大的数字处理能力和深度学习能力,不…

XTuner 微调 LLM:1.8B, 部署

扫码立刻参与白嫖A100,书生大模型微调部署学习活动。亲测有效 内容来源:Tutorial/xtuner/personal_assistant_document.md at camp2 InternLM/Tutorial GitHubLLM Tutorial. Contribute to InternLM/Tutorial development by creating an account on G…

帕金森病患者应该如何确定自己每天适宜的饮水量?

帕金森病患者确定每天适宜的饮水量时,应该考虑到药物副作用、运动障碍和便秘等问题。建议的饮水量通常是每天6至8杯水,相当于约2000毫升左右。这个量可以根据个人的体重、气候条件、活动水平以及是否有其他健康问题进行适当调整。 为了科学合理地安排饮水…

【CVPR 2024】GART: Gaussian Articulated Template Models

【CVPR 2024】GART: Gaussian Articulated Template Models 一、前言Abstract1. Introduction2. Related Work3. Method3.1. Template Prior3.2. Shape Appearance Representation with GMM3.3. Motion Representation with Forward Skinning3.4. Reconstruct GART from Monocu…

【笔记】Android V 应用SDK升级适配和问题

说明 随着Google释放的Android版本,系统升级SDK到35,应用也需要升级上去,不然会报错。 Android Studio Jellyfish | 2023.3.1 | Android Developers Android Studio 预览版中的新功能 | Android Developers 当前版本的Android Studio

在超算平台或高性能集群上运行并行程序使用命令mpirun -np ,出现“no active ports detected”

问题: 在超算平台或高性能集群上运行并行程序使用命令mpirun -np ,出现“no active ports detected” 具体使用的命令如下: Participant2"Solid" Solver2"linear_elasticity" nprocS4 # jie notes:24# Runecho "…

PCI PTS 硬件安全模块(HSM)模块化安全要求 v5.0

符合条件的 PCI SSC 利益相关者在 30 天的意见征询 (RFC) 期间审查 PCI PTS 硬件安全模块 (HSM) 模块化安全要求 v5.0 草案并提供反馈。 PCI PTS 硬件安全模块(HSM)模块化安全要求 v5.0图 从 7 月 8 日到 8 月 8 日,邀请符合条件的 PCI SSC 利益相关者在 30 天的意见…

Riscv 架构的合规测试

为啥直接关注riscv-arch-test,是因为RISCOF 测试框架使用的是riscv-arch-test 1. The architectural test 架构测试是一个单一的测试,代表了可编译和运行的最小测试代码。它是用汇编代码编写的,其产品是test signature。一个架构测试可能由…

BUG解决:postman可以请求成功,但Python requests请求报403

目录 问题背景 问题定位 问题解决 问题背景 使用Python的requests库对接物联数据的接口之前一直正常运行,昨天突然请求不通了,通过进一步验证发现凡是使用代码调用接口就不通,而使用postman就能调通,请求参数啥的都没变。 接口…

【机器学习】主成分分析(PCA):数据降维的艺术

🌈个人主页: 鑫宝Code 🔥热门专栏: 闲话杂谈| 炫酷HTML | JavaScript基础 ​💫个人格言: "如无必要,勿增实体" 文章目录 主成分分析(PCA):数据降维的艺术引言PCA的基…

ssm华天计算机面试刷题系统-计算机毕业设计源码22543

摘 要 华天计算机面试刷题系统是一款基于SSM(Spring、Spring MVC、MyBatis)框架、利用Java编程语言和MySQL数据库,开发的在线学习和测试平台。系统利用SSM框架及前端开发技术,实现了模块化开发和管理,前后端交互以及数…

【数据结构和算法的概念等】

目录 一、数据结构1、数据结构的基本概念2、数据结构的三要素2.1 数据的逻辑结构2.2 数据的存储(物理)结构2.3 数据的运算 二、算法1、算法概念2、算法的特性及特点3、算法分析 一、数据结构 1、数据结构的基本概念 数据: 是所有能输入到计…

利用SpringBoot+rabbitmq 实现邮件异步发送,保证100%投递成功

在之前的文章中,我们详细介绍了 SpringBoot 整合 mail 实现各类邮件的自动推送服务。 但是这类服务通常不稳定,当出现网络异常的时候,会导致邮件推送失败。 本篇文章将介绍另一种高可靠的服务架构,实现邮件 100% 被投递成功。类…

基于Java中的SSM框架实现水稻朔源信息系统项目【项目源码】

基于Java中的SSM框架实现水稻朔源信息系统演示 SSM框架 SSM框架是基于Spring、SpringMVC以及Mybatis实现的针对JAVA WEB端应用的开发框架,通过SSM框架结构可以实现以上三种框架的优点集合,从而实现更加高效便捷的系统开发和呈现。该框架结构通过Spring框…

红日靶场----(二)2.信息收集

上期我们已经猜解到了MySQL的账号密码。 这期我们开始目录枚举,我们知道目录枚举能不能获得有用的信息,需要强大的字典。 只有字典强大才能精准的爆破到目录及文件,下面我会介绍一个强大的字典文件。 目录枚举之SecLists字典: …