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 相关文章推荐
Cython 三分钟入门教程
Sep 17 Python
Python实现TCP/IP协议下的端口转发及重定向示例
Jun 14 Python
pycharm运行和调试不显示结果的解决方法
Nov 30 Python
python UDP(udp)协议发送和接收的实例
Jul 22 Python
Python面向对象封装操作案例详解
Dec 31 Python
python GUI库图形界面开发之PyQt5信号与槽的高级使用技巧装饰器信号与槽详细使用方法与实例
Mar 06 Python
Python unittest单元测试openpyxl实现过程解析
May 27 Python
python代码如何注释
Jun 01 Python
浅析Python __name__ 是什么
Jul 07 Python
降低python版本的操作方法
Sep 11 Python
Django中如何用xlwt生成表格的方法步骤
Jan 31 Python
通过Python把学姐照片做成拼图游戏
Feb 15 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
thinkphp的URL路由规则与配置实例
2014/11/26 PHP
php获取文件名后缀常用方法小结
2015/02/24 PHP
PHP扩展迁移为PHP7扩展兼容性问题记录
2016/02/15 PHP
php使用event扩展的io复用测试的示例
2020/10/20 PHP
JavaScript 中的事件教程
2007/04/05 Javascript
js的window.showModalDialog及window.open用法实例分析
2015/01/29 Javascript
原生js的数组除重复简单实例
2016/05/24 Javascript
JavaScript编程中实现对象封装特性的实例讲解
2016/06/24 Javascript
AngularJS基础 ng-repeat 指令简单示例
2016/08/03 Javascript
js制作网站首页图片轮播特效代码
2016/08/30 Javascript
基于jQuery实现歌词滚动版音乐播放器的代码
2016/09/17 Javascript
Zabbix添加Node.js监控的方法
2016/10/20 Javascript
jquery实现Ajax请求的几种常见方式总结
2019/05/28 jQuery
小程序实现录音上传功能
2019/11/22 Javascript
Vue实现跑马灯效果
2020/05/25 Javascript
vue 判断元素内容是否超过宽度的方式
2020/07/29 Javascript
Vue使用axios引起的后台session不同操作
2020/08/14 Javascript
Ajax获取node服务器数据的完整步骤
2020/09/20 Javascript
[00:32]DOTA2上海特级锦标赛 Ehome战队宣传片
2016/03/03 DOTA
Python连接DB2数据库
2016/08/27 Python
pycharm重置设置,恢复默认设置的方法
2018/10/22 Python
Python反爬虫技术之防止IP地址被封杀的讲解
2019/01/09 Python
pyqt5 获取显示器的分辨率的方法
2019/06/18 Python
浅谈python3中input输入的使用
2019/08/02 Python
Python更新所有已安装包的操作
2020/02/13 Python
香港艺人陈冠希创办的潮流品牌:JUICESTORE
2021/03/04 全球购物
如何为DataGridView添加一个定制的Column Type
2014/01/21 面试题
高三自我鉴定范文
2013/10/19 职场文书
后勤部长岗位职责
2013/12/14 职场文书
开办大学饮食联盟创业计划书
2014/01/29 职场文书
创新比赛获奖感言
2014/02/13 职场文书
深入开展党的群众路线教育实践活动心得体会
2014/11/05 职场文书
2014年优秀班主任工作总结
2014/12/16 职场文书
Python加密技术之RSA加密解密的实现
2022/04/08 Python
Win10/Win11 任务栏替换成经典样式
2022/04/19 数码科技
Redis入门基础常用操作命令整理
2022/06/01 Redis