python爬蟲判斷招聘信息是否存在的實(shí)例代碼
在找工作的時(shí)候,我們會(huì)選擇上網(wǎng)查詢招聘的信息,或者是通過一些招聘會(huì)進(jìn)行現(xiàn)場(chǎng)面試。但由于信息更新不及時(shí),有一些崗位會(huì)出現(xiàn)下架的情況,如果我們不注意的話,可能就撲了空。在時(shí)間上耽誤了不說,面試的信息也會(huì)受到一點(diǎn)點(diǎn)打擊。今天小編就教大家python爬蟲來判斷招聘信息是否存在。
首先這里需要一個(gè)判斷某條招聘是否還掛在網(wǎng)站上的方法,這個(gè)暫時(shí)想到了還沒弄,然后對(duì)于發(fā)布時(shí)間在兩個(gè)月之前的數(shù)據(jù),就不進(jìn)行統(tǒng)計(jì)計(jì)算。
以下是完成代碼:
{
"_id" : ObjectId("5a30ad2068504386f47d9a4b"),
"city" : "蘇州",
"companyShortName" : "藍(lán)海彤翔",
"companySize" : "100-499人",
"education" : "本科",
"financeStage" : "B輪",
"industryField" : "互聯(lián)網(wǎng)",
"level" : 3,
"pid" : "11889834",
"positionLables" : [
"PHP",
"ThinkPHP"
],
"positionName" : "php研發(fā)工程師",
"salary" : {
"avg" : 7500.0,
"low" : 7000,
"high" : 8000
},
"time" : "2017-06-06",
"updated_at" : "2017-12-13 18:31:15",
"workYear" : "1-3年",
"detail" : "1、處理landcloud云計(jì)算相關(guān)系統(tǒng)的各類開發(fā)和調(diào)研工作;2、處理coms高性能計(jì)算的各類開發(fā)和調(diào)研工作崗位要求:1、本科學(xué)歷,兩年以上工作經(jīng)驗(yàn),熟悉PHP開發(fā),了解常用的php開發(fā)技巧和框架;2、了解C++,python及Java開發(fā);3、有一定的研發(fā)能力和鉆研精神;4、有主動(dòng)溝通能力和吃苦耐勞的精神。",
"location" : "蘇州市高新區(qū)科技城錦峰路158號(hào)101park8幢"
實(shí)例擴(kuò)展:
python爬蟲爬取騰訊招聘信息 (靜態(tài)爬蟲)
import requests
from bs4 import BeautifulSoup
from math import ceil
header = {
'User-Agent': 'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/67.0.3396.99 Safari/537.36'}
# 獲取崗位頁數(shù)
def getJobPage(url):
ret = requests.get(url, headers=header)
ret.encoding = "utf-8" # 解決亂碼問題
html = ret.text
soup = BeautifulSoup(html, 'html.parser')
# 獲取崗位總數(shù),< span class ="lightblue total" > 512 < / span >
totalJob = soup.select('span[class="lightblue total"]')[0].text
jobPage = ceil(int(totalJob) / 10)
return jobPage
def getJobOrder(url):
ret = requests.get(url, headers=header)
ret.encoding = "utf-8" # 解決亂碼問題
html = ret.text
soup = BeautifulSoup(html, 'html.parser')
# 工作職責(zé)
jobRequests = soup.select('ul[class="squareli"]')[0].text
# 工作要求
jobOrder = soup.select('ul[class="squareli"]')[1].text
return jobRequests, jobOrder
# 獲取崗位信息
def getJobInfo(url):
myfile = open("tencent_job.txt", "a", encoding='gb18030', errors='ignore') # 解決亂碼問題
ret = requests.get(url, headers=header)
ret.encoding = "utf-8" # 解決亂碼問題
html = ret.text
soup = BeautifulSoup(html, 'html.parser')
jobList = soup.find_all('tr', class_=['even', 'odd'])
for job in jobList:
# url
jobUrl = "https://hr.tencent.com/" + job.select('td:nth-of-type(1) > a')[0]['href']
# 職位名稱
jobName = job.select('td:nth-of-type(1) > a')[0].text
# 人數(shù)
jobPeople = job.select('td:nth-of-type(3)')[0].text
# 地點(diǎn)
jobAddre = job.select('td:nth-of-type(4)')[0].text
# 發(fā)布時(shí)間
jobTime = job.select('td:nth-of-type(5)')[0].text
# 工作職責(zé)
jobRequests = getJobOrder(jobUrl)[0]
# 工作要求
jobOrder = getJobOrder(jobUrl)[1]
#print(jobName, jobUrl, jobAddre, jobPeople, jobTime, jobRequests, jobOrder)
tt = jobName + " " + jobUrl + " " + jobAddre + " " + jobPeople + " " + jobTime + " " + jobRequests + " " + jobOrder
myfile.write(tt + "\n")
if __name__ == '__main__':
mainurl = 'https://hr.tencent.com/position.php?keywords=python'
jobPage = getJobPage(mainurl)
print(jobPage)
for page in range(jobPage):
pageUrl = 'https://hr.tencent.com/position.php?keywords=python&start=' + str(page * 10) + '#a'
print("第" + str(page + 1) + "頁")
getJobInfo(pageUrl)
到此這篇關(guān)于python爬蟲判斷招聘信息是否存在的實(shí)例代碼的文章就介紹到這了,更多相關(guān)python判斷招聘信息的存在內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Python使用函數(shù)輔助工具簡(jiǎn)化開發(fā)提高效率
這篇文章主要為大家介紹了Python使用函數(shù)輔助工具簡(jiǎn)化開發(fā)提高效率,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2024-01-01
Python實(shí)現(xiàn)二叉樹的常見遍歷操作總結(jié)【7種方法】
這篇文章主要介紹了Python實(shí)現(xiàn)二叉樹的常見遍歷操作,結(jié)合實(shí)例形式總結(jié)分析了二叉樹的前序、中序、后序、層次遍歷中的迭代與遞歸等7種操作方法,需要的朋友可以參考下2019-03-03
python 2.7 檢測(cè)一個(gè)網(wǎng)頁是否能正常訪問的方法
今天小編就為大家分享一篇python 2.7 檢測(cè)一個(gè)網(wǎng)頁是否能正常訪問的方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2018-12-12
TensorFlow實(shí)現(xiàn)隨機(jī)訓(xùn)練和批量訓(xùn)練的方法
本篇文章主要介紹了TensorFlow實(shí)現(xiàn)隨機(jī)訓(xùn)練和批量訓(xùn)練的方法,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2018-04-04
使用Python中PDB模塊中的命令來調(diào)試Python代碼的教程
這篇文章主要介紹了使用Python中PDB模塊中的命令來調(diào)試Python代碼的教程,包括設(shè)置斷點(diǎn)來修改代碼等、對(duì)于Python團(tuán)隊(duì)項(xiàng)目工作有一定幫助,需要的朋友可以參考下2015-03-03
使用bandit對(duì)目標(biāo)python代碼進(jìn)行安全函數(shù)掃描的案例分析
這篇文章主要介紹了使用bandit對(duì)目標(biāo)python代碼進(jìn)行安全函數(shù)掃描,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2021-01-01
基于python+selenium的二次封裝的實(shí)現(xiàn)
這篇文章主要介紹了基于python+selenium的二次封裝的實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-01-01
Django使用AJAX調(diào)用自己寫的API接口的方法
這篇文章主要介紹了Django使用AJAX調(diào)用自己寫的API接口的方法,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2019-03-03

