首页 编程教程正文

boss直聘批量向牛人询问求职意向

piaodoo 编程教程 2020-02-22 22:16:50 1798 0 python教程

本文来源吾爱破解论坛

本帖最后由 youpc529 于 2019-11-22 10:42 编辑

使用boss直聘没法按照自己想要的条件筛选“牛人”(如按照年龄或性别),想批量筛选和打招呼又要花钱,如下图:

1.png (116.62 KB, 下载次数: 0)

下载附件  保存到相册

2019-11-22 10:12 上传


于是自己折腾了,此代码以“年龄”和“是否沟通过”为条件进行筛选,并对符合条件的“牛人”批量询问求职意向。

from selenium import webdriver
from selenium.webdriver.common.action_chains import ActionChains
from selenium.webdriver.chrome.options import Options
from selenium.common.exceptions import *
import random
from time import sleep

#浏览器设置
chrome_options = Options()
chrome_options.add_argument('lang=zh_CN.UTF-8')
UserAgent='Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/76.0.3809.132 Safari/537.36'
chrome_options.add_argument('User-Agent=' + UserAgent)
driver = webdriver.Chrome(r'D:\chromedriver.exe',options=chrome_options)
driver.maximize_window()
driver.implicitly_wait(10)

#扫码登录
login_link = 'https://login.zhipin.com/?ka=header-login'
driver.get(login_link)
driver.find_element_by_xpath('//*[@id="wrap"]/div[2]/div[1]/div[2]/div/form/div[1]/span[3]').click()
sleep(2)
#点击推荐牛人
driver.find_element_by_xpath('//*[@id="main"]/div[1]/div/dl[2]/dt/a').click()
#选择岗位
def select(x):
    dropdown = driver.find_element_by_xpath('/html/body/div[1]/div[1]/div/div/div[2]/div[2]/span')
    ActionChains(driver).click(dropdown).perform()
    selectxpath = '/html/body/div[1]/div[1]/div/div/div[2]/div[2]/div/ul/li['+str(x)+']'
    select = driver.find_element_by_xpath(selectxpath)
    position = select.text
    select.click()
    highLightElement(driver,select)
    print("现在筛选的岗位是:"+position)
    sleep(1)
#打招呼,询问求职意向
def grdo(i):
    try:
        #greetxpath = "/html/body/div/div/div/div/div[2]/div/div/div/div/ul/li["+str(i)+"]/div/div/div[2]/div/span/button"
        greetxpath = '//*[@id="recommend-list"]/div/ul/li['+str(i)+']/div/div/div[2]/div/span/button'
        greetele = driver.find_element_by_xpath(greetxpath)
        greet = greetele.text
        agexpath = "/html/body/div/div/div/div/div[2]/div/div/div/div/ul/li["+str(i)+"]/div/div/div[3]/div[2]/div[2]/span[1]"
        ageele = driver.find_element_by_xpath(agexpath)
        agestr = ageele.text
        age = int(agestr[0:2])        
        if 18 < age < 31 and greet != "继续沟通":
            highLightElement(driver,ageele)
            rt = random.randint(0,5)
            highLightElement(driver,greetele)
            sleep(rt)
            driver.execute_script("arguments[0].click();", greetele)
            driver.execute_script('window.scrollBy(0,200)')
            print("第%d个符合,"%i,end="")
            print("年龄%s."%agestr)
        else:
            print("第%d个不符合,"%i,end="")
            print("年龄%s."%agestr)
            driver.execute_script('window.scrollBy(0,200)')
    except ValueError:
            print("第%d个没有数据"%i)
#每个岗位筛选68人
def grf():
    k=2
    while k<70:
        try:
            grdo(k)
        except NoSuchElementException:
                if k == 6:
                    print("忽略boss的升级提醒")
                    pass
                else:
                    print("网页没加载成功,第%d个没有数据,等待重新加载"%k)
                    driver.execute_script("var q=document.documentElement.scrollTop=10000")
                    sleep(1)
                    grdo(k)
        k +=1
#嵌入网页,需要切换
def task(y):
    select(y)
    driver.switch_to.frame("syncFrame")
    grf()
#设置要筛选的岗位
i = 2
while i < 13:
    if i == 3 or i ==7 or i ==8:
        i += 1
        continue
    task(i)
    print("完成一个岗位。")
    driver.switch_to.default_content()
    i += 1

版权声明:

本站所有资源均为站长或网友整理自互联网或站长购买自互联网,站长无法分辨资源版权出自何处,所以不承担任何版权以及其他问题带来的法律责任,如有侵权或者其他问题请联系站长删除!站长QQ754403226 谢谢。

有关影视版权:本站只供百度云网盘资源,版权均属于影片公司所有,请在下载后24小时删除,切勿用于商业用途。本站所有资源信息均从互联网搜索而来,本站不对显示的内容承担责任,如您认为本站页面信息侵犯了您的权益,请附上版权证明邮件告知【754403226@qq.com】,在收到邮件后72小时内删除。本文链接:https://www.piaodoo.com/8086.html

搜索