python爬虫判断招聘信息是否存在的实例代码


Posted in Python onNovember 20, 2020

在找工作的时候,我们会选择上网查询招聘的信息,或者是通过一些招聘会进行现场面试。但由于信息更新不及时,有一些岗位会出现下架的情况,如果我们不注意的话,可能就扑了空。在时间上耽误了不说,面试的信息也会受到一点点打击。今天小编就教大家python爬虫来判断招聘信息是否存在。

首先这里需要一个判断某条招聘是否还挂在网站上的方法,这个暂时想到了还没弄,然后对于发布时间在两个月之前的数据,就不进行统计计算。

以下是完成代码:

{
  "_id" : ObjectId("5a30ad2068504386f47d9a4b"),
  "city" : "苏州",
  "companyShortName" : "蓝海彤翔",
  "companySize" : "100-499人",
  "education" : "本科",
  "financeStage" : "B轮",
  "industryField" : "互联网",
  "level" : 3,
  "pid" : "11889834",
  "positionLables" : [
    "PHP",
    "ThinkPHP"
  ],
  "positionName" : "php研发工程师",
  "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云计算相关系统的各类开发和调研工作;2、处理coms高性能计算的各类开发和调研工作岗位要求:1、本科学历,两年以上工作经验,熟悉PHP开发,了解常用的php开发技巧和框架;2、了解C++,python及Java开发;3、有一定的研发能力和钻研精神;4、有主动沟通能力和吃苦耐劳的精神。",
  "location" : "苏州市高新区科技城锦峰路158号101park8幢"

实例扩展:

python爬虫爬取腾讯招聘信息 (静态爬虫)

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'}


# 获取岗位页数
def getJobPage(url):
  ret = requests.get(url, headers=header)
  ret.encoding = "utf-8" # 解决乱码问题
  html = ret.text
  soup = BeautifulSoup(html, 'html.parser')
  # 获取岗位总数,< 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')
  # 工作职责
  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
    # 人数
    jobPeople = job.select('td:nth-of-type(3)')[0].text
    # 地点
    jobAddre = job.select('td:nth-of-type(4)')[0].text
    # 发布时间
    jobTime = job.select('td:nth-of-type(5)')[0].text
    # 工作职责
    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)

到此这篇关于python爬虫判断招聘信息是否存在的实例代码的文章就介绍到这了,更多相关python判断招聘信息的存在内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章希望大家以后多多支持三水点靠木!

Python 相关文章推荐
Python素数检测实例分析
Jun 15 Python
Python数据分析之真实IP请求Pandas详解
Nov 18 Python
python之django母板页面的使用
Jul 03 Python
Python对象中__del__方法起作用的条件详解
Nov 01 Python
python内置数据类型之列表操作
Nov 12 Python
python-视频分帧&amp;多帧合成视频实例
Dec 10 Python
Windows下实现将Pascal VOC转化为TFRecords
Feb 17 Python
详解Pycharm出现out of memory的终极解决方法
Mar 03 Python
Python进程间通信multiprocess代码实例
Mar 18 Python
如何在Python对Excel进行读取
Jun 04 Python
基于python实现坦克大战游戏
Oct 27 Python
Python偏函数实现原理及应用
Nov 20 Python
Python getsizeof()和getsize()区分详解
Nov 20 #Python
Python析构函数__del__定义原理解析
Nov 20 #Python
Python request post上传文件常见要点
Nov 20 #Python
接口自动化多层嵌套json数据处理代码实例
Nov 20 #Python
如何设置PyCharm中的Python代码模版(推荐)
Nov 20 #Python
Django vue前后端分离整合过程解析
Nov 20 #Python
基于Python的图像阈值化分割(迭代法)
Nov 20 #Python
You might like
DIY实用性框形天线
2021/03/02 无线电
使用网络地址转换实现多服务器负载均衡
2006/10/09 PHP
PHP CURL获取返回值的方法
2014/05/04 PHP
PHP在网页中动态生成PDF文件详细教程
2014/07/05 PHP
用CSS+JS实现的进度条效果效果
2007/06/05 Javascript
js 目录列举函数
2008/11/06 Javascript
jquery插件 autoComboBox 下拉框
2010/12/22 Javascript
JS阻止冒泡事件以及默认事件发生的简单方法
2014/01/17 Javascript
禁止拷贝网页内容的js代码
2014/01/22 Javascript
JavaScript在网页中画圆的函数arc使用方法
2015/11/13 Javascript
js如何准确获取当前页面url网址信息
2020/09/13 Javascript
基于JavaScript实现添加到购物车效果附源码下载
2016/08/22 Javascript
微信小程序中顶部导航栏的实现代码
2017/03/30 Javascript
ES6数组的扩展详解
2017/04/25 Javascript
vue通过滚动行为实现从列表到详情,返回列表原位置的方法
2018/08/31 Javascript
react组件从搭建脚手架到在npm发布的步骤实现
2019/01/09 Javascript
一篇超完整的Vue新手入门指导教程
2020/11/18 Vue.js
[00:32]2018DOTA2亚洲邀请赛Liquid出场
2018/04/03 DOTA
简单介绍Python中的decode()方法的使用
2015/05/18 Python
Python中的ctime()方法使用教程
2015/05/22 Python
Python随机生成带特殊字符的密码
2016/03/02 Python
基于Python闭包及其作用域详解
2017/08/28 Python
Python跨文件全局变量的实现方法示例
2017/12/10 Python
win7 x64系统中安装Scrapy的方法
2018/11/18 Python
python2与python3的print及字符串格式化小结
2018/11/30 Python
在VS2017中用C#调用python脚本的实现
2019/07/31 Python
win10下安装Anaconda的教程(python环境+jupyter_notebook)
2019/10/23 Python
matplotlib.pyplot.matshow 矩阵可视化实例
2020/06/16 Python
Dr. Martens马汀博士澳大利亚官网:马丁靴鼻祖
2019/07/02 全球购物
高中生的自我鉴定范文
2014/01/24 职场文书
决心书标准格式
2014/03/11 职场文书
计算机专业毕业生求职信
2014/04/30 职场文书
关于责任的演讲稿
2014/05/20 职场文书
机电专业毕业生自我鉴定2014
2014/10/04 职场文书
golang判断key是否在map中的代码
2021/04/24 Golang
Python 详解通过Scrapy框架实现爬取CSDN全站热榜标题热词流程
2021/11/11 Python