日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程语言 > python >内容正文

python

python自动投递简历_用python在前程无忧高效投递简历

發(fā)布時(shí)間:2023/12/14 python 37 豆豆
生活随笔 收集整理的這篇文章主要介紹了 python自动投递简历_用python在前程无忧高效投递简历 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

在前程無憂上投遞簡歷發(fā)現(xiàn)有競爭力分析,免費(fèi)能看到匹配度評(píng)價(jià)和綜合競爭力分?jǐn)?shù),能夠作投遞參考

計(jì)算方式php

綜合競爭力得分應(yīng)該越高越好,匹配度評(píng)語也應(yīng)該評(píng)價(jià)越高越好html

抓取全部職位關(guān)鍵字搜索結(jié)果并獲取綜合競爭力得分和匹配度評(píng)語,最后篩選得分評(píng)語自動(dòng)投遞合適的簡歷python

登錄獲取cookie

from selenium importwebdriverfrom selenium.webdriver.chrome.options importOptions

chrome_options=Options()#chrome_options.add_argument('--headless')

from time importsleepimportrefrom lxml importetreeimportrequestsimportosimportjsondriver= webdriver.Chrome(chrome_options=chrome_options,executable_path = 'D:\python\chromedriver.exe')

headers={"User-Agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/73.0.3683.86 Safari/537.36"}

def get_cookie():

driver.get("https://login.51job.com/login.php?loginway=1&lang=c&url=")

sleep(2)

phone=input("輸入手機(jī)號(hào):")

driver.find_element_by_id("loginname").send_keys(phone)

driver.find_element_by_id("btn7").click()

sleep(1)

code=input("輸入短信:")

driver.find_element_by_id("phonecode").send_keys(code)

driver.find_element_by_id("login_btn").click()

sleep(2)

cookies = driver.get_cookies()

with open("cookie.json", "w")as f:

f.write(json.dumps(cookies))

driver.close()

用webdriver登錄獲取cookie,把cookie寫入文件,在登錄的時(shí)候最好不用無頭模式,偶爾有滑動(dòng)驗(yàn)證碼web

前程無憂手機(jī)短信一天只能發(fā)送三條,保存cookie下次登錄用chrome

#搜索職位并得到頁碼

def get_job():

job = input("輸入職位:")

url=f"https://search.51job.com/list/020000,000000,0000,00,1,99,{job},2,1.html?lang=c&stype=1&postchannel=0000&workyear=02&cotype=99&degreefrom=99&jobterm=99&companysize=99&lonlat=0%2C0&radius=-1&ord_field=0&confirmdate=9&fromType=5&dibiaoid=0&address=&line=&specialarea=00&from=&welfare="

r=session.get(url,headers=headers)

r.encoding=r.apparent_encoding

tree = etree.HTML(r.text)

x = tree.xpath('//span[@class="td"]/text()')[0]

total_page = int(re.findall("(\d+)", x)[0])

href = []

for i in range(1,total_page+1):

href.append(re.sub("\d.html", f'{i}.html', url))

return href

在職位搜索獲取職位搜索結(jié)果的所有頁碼json

#獲取職位id

def get_job_code(url):

headers={"User-Agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/73.0.3683.86 Safari/537.36"}

r=session.get(url,headers=headers)

tree=etree.HTML(r.text)

divs=tree.xpath('//div[@class="el"]/p/span/a/@href')

job=str(divs)

job_id=re.findall("\/(\d+).html",job)

return job_id

獲取職位idcookie

修改id請求網(wǎng)址到競爭力分析頁面session

#獲取匹配的信息

def get_info(job_id):

href=f"https://i.51job.com/userset/bounce_window_redirect.php?jobid={job_id}&redirect_type=2"

r=session.get(href,headers=headers)

r.encoding=r.apparent_encoding

tree=etree.HTML(r.text)

pingjia=tree.xpath('//div[@class="warn w1"]//text()')[0].strip()

gongsi=[]

for i in tree.xpath('//div[@class="lf"]//text()'):

if i.strip():

gongsi.append(i.strip())

fenshu=[]

for i in tree.xpath('//ul[@class="rt"]//text()'):

if i.strip():

fenshu.append(i.strip())

url=f"https://jobs.51job.com/shanghai/{job_id}.html?s=03&t=0"

return {"公司":gongsi[1],"職位":gongsi[0],"匹配度":pingjia,fenshu[3]:fenshu[2],"連接":url,"_id":job_id}

抓取競爭力分析頁面,返回一個(gè)字典app

主程序less

#用cookie登錄

if not os.path.exists("cookie.json"):

get_cookie()

f=open("cookie.json","r")

cookies=json.loads(f.read())

f.close()

session = requests.Session()

for cookie in cookies:

session.cookies.set(cookie['name'], cookie['value'])

檢查cookie文件載入cookie,不存在執(zhí)行g(shù)et_cookie()把cookie保存到文件

#獲取全部職位id

code=[]

for i in get_job():

code=code+get_job_code(i)

獲取的職位id添加到列表

#存入Mongodb

import pymongo

client=pymongo.MongoClient("47.102.109.190",27017)

db=client["job_zhu"]

job_info=db["job_info"]

for i in code:

try:

if not job_info.find_one({"_id":i}):

info=get_info(i)

if not job_info.find_one(info):

job_info.insert_one(info)

print(info)

print("插入成功")

except:

print(code)

龜速爬取,用MongDB保存結(jié)果,職位id做為索引id,插入以前檢查id是否存在簡單去重減小訪問

吃完飯已經(jīng)抓到8000個(gè)職位了,篩選找到127個(gè)匹配度好的,開始批量投遞

登錄狀態(tài)點(diǎn)擊申請職位,用wevdriver作

for i in job_info.find({"匹配度":{$regex:"排名很好"},"綜合競爭力得分":{$gte:"80"}}):print(i)try:

driver.get(i)

driver.find_element_by_id("app_ck").click()

sleep(2)except:pass

用cookie登錄簡單for循環(huán)投遞,在Mongodb里查表,正則篩選匹配度和競爭力得分獲取全部匹配結(jié)果

投遞成功

代碼

from selenium import webdriver

from selenium.webdriver.chrome.options import Options

chrome_options = Options()

chrome_options.add_argument('--headless')

from time import sleep

import re

from lxml import etree

import requests

import os

import json

driver = webdriver.Chrome(chrome_options=chrome_options,executable_path = 'D:\python\chromedriver.exe')

headers={"User-Agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/73.0.3683.86 Safari/537.36"}

driver.get("https://search.51job.com/list/020000,000000,0000,00,1,99,%2B,2,1.html?lang=c&stype=1&postchannel=0000&workyear=01%2C02&cotype=99&degreefrom=03%2C04&jobterm=99&companysize=99&lonlat=0%2C0&radius=-1&ord_field=0&confirmdate=9&fromType=5&dibiaoid=0&address=&line=&specialarea=00&from=&welfare=")

#用webdriver獲取cookie寫入文件

def get_cookie():

driver.get("https://login.51job.com/login.php?loginway=1&lang=c&url=")

sleep(2)

phone=input("輸入手機(jī)號(hào):")

driver.find_element_by_id("loginname").send_keys(phone)

driver.find_element_by_id("btn7").click()

sleep(1)

code=input("輸入短信:")

driver.find_element_by_id("phonecode").send_keys(code)

driver.find_element_by_id("login_btn").click()

sleep(2)

cookies = driver.get_cookies()

with open("cookie.json", "w")as f:

f.write(json.dumps(cookies))

driver.close()

#搜索職位并得到頁碼

def get_job():

job = input("輸入職位:")

url=f"https://search.51job.com/list/020000,000000,0000,00,1,99,{job},2,1.html?lang=c&stype=1&postchannel=0000&workyear=02&cotype=99&degreefrom=99&jobterm=99&companysize=99&lonlat=0%2C0&radius=-1&ord_field=0&confirmdate=9&fromType=5&dibiaoid=0&address=&line=&specialarea=00&from=&welfare="

r=session.get(url,headers=headers)

r.encoding=r.apparent_encoding

tree = etree.HTML(r.text)

x = tree.xpath('//span[@class="td"]/text()')[0]

total_page = int(re.findall("(\d+)", x)[0])

href = []

for i in range(1,total_page+1):

href.append(re.sub("\d.html", f'{i}.html', url))

return href

#獲取職位id

def get_job_code(url):

headers={"User-Agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/73.0.3683.86 Safari/537.36"}

r=session.get(url,headers=headers)

tree=etree.HTML(r.text)

divs=tree.xpath('//div[@class="el"]/p/span/a/@href')

job=str(divs)

job_id=re.findall("\/(\d+).html",job)

return job_id

#獲取匹配的信息

def get_info(job_id):

href=f"https://i.51job.com/userset/bounce_window_redirect.php?jobid={job_id}&redirect_type=2"

r=session.get(href,headers=headers)

r.encoding=r.apparent_encoding

tree=etree.HTML(r.text)

pingjia=tree.xpath('//div[@class="warn w1"]//text()')[0].strip()

gongsi=[]

for i in tree.xpath('//div[@class="lf"]//text()'):

if i.strip():

gongsi.append(i.strip())

fenshu=[]

for i in tree.xpath('//ul[@class="rt"]//text()'):

if i.strip():

fenshu.append(i.strip())

url=f"https://jobs.51job.com/shanghai/{job_id}.html?s=03&t=0"

return {"公司":gongsi[1],"職位":gongsi[0],"匹配度":pingjia,fenshu[3]:fenshu[2],"連接":url,"_id":job_id}

#用cookie登錄

if not os.path.exists("cookie.json"):

get_cookie()

f=open("cookie.json","r")

cookies=json.loads(f.read())

f.close()

session = requests.Session()

for cookie in cookies:

session.cookies.set(cookie['name'], cookie['value'])

#獲取全部職位id

code=[]

for i in get_job():

code=code+get_job_code(i)

#存入Mongodb

import pymongo

client=pymongo.MongoClient("47.102.109.190",27017)

db=client["job_zhu"]

job_info=db["job_info"]

for i in code:

try:

if not job_info.find_one({"_id":i}):

info=get_info(i)

if not job_info.find_one(info):

job_info.insert_one(info)

print(info)

print("插入成功")

except:

print(code)

總結(jié)

以上是生活随笔為你收集整理的python自动投递简历_用python在前程无忧高效投递简历的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。