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 图片验证码代码分享
Jul 04 Python
讲解python参数和作用域的使用
Nov 01 Python
python中的字符串内部换行方法
Jul 19 Python
在python下读取并展示raw格式的图片实例
Jan 24 Python
在Django的View中使用asyncio的方法
Jul 12 Python
python 提取文件指定列的方法示例
Aug 07 Python
Python实现朴素贝叶斯的学习与分类过程解析
Aug 24 Python
Python yield的用法实例分析
Mar 06 Python
Keras官方中文文档:性能评估Metrices详解
Jun 15 Python
python opencv实现简易画图板
Aug 27 Python
python Xpath语法的使用
Nov 26 Python
python实现剪贴板的操作
Jul 01 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
Wordpress 相册插件 NextGEN-Gallery 添加目录将中文转为拼音的解决办法
2010/12/29 PHP
基于PHP 面向对象之成员方法详解
2013/05/04 PHP
smarty实现多级分类的方法
2014/12/05 PHP
判断用户的在线状态 onbeforeunload事件
2011/03/05 Javascript
HTML DOM的nodeType值介绍
2011/03/31 Javascript
基于jquery跨浏览器显示的file上传控件
2011/10/24 Javascript
php对mongodb的扩展(初识如故)
2012/11/11 Javascript
一些常用弹出窗口/拖放/异步文件上传等实用代码
2013/01/06 Javascript
jquery+ajax验证不通过也提交表单问题处理
2014/12/12 Javascript
jquery中EasyUI使用技巧小结
2015/02/10 Javascript
JS使用post提交的两种方式
2015/12/03 Javascript
JavaScript数组实现数据结构中的队列与堆栈
2016/05/26 Javascript
jQuery之简单的表单验证实例
2016/07/07 Javascript
AngularJS动态绑定HTML的方法分析
2016/11/07 Javascript
微信小程序返回多级页面的实现方法
2017/10/27 Javascript
vue.js  父向子组件传参的实例代码
2017/10/29 Javascript
微信小程序实现打开内置地图功能【附源码下载】
2017/12/07 Javascript
vue中使用sessionStorage记住密码功能
2018/07/24 Javascript
详解使用jest对vue项目进行单元测试
2018/09/07 Javascript
详细介绍Python的鸭子类型
2016/09/12 Python
详解使用python crontab设置linux定时任务
2016/12/08 Python
使用python 爬虫抓站的一些技巧总结
2018/01/10 Python
python实现抖音点赞功能
2019/04/07 Python
Python使用crontab模块设置和清除定时任务操作详解
2019/04/09 Python
python如何制作英文字典
2019/06/25 Python
flask框架自定义url转换器操作详解
2020/01/25 Python
python用pip install时安装失败的一系列问题及解决方法
2020/02/24 Python
python cv2.resize函数high和width注意事项说明
2020/07/05 Python
linux centos 7.x 安装 python3.x 替换 python2.x的过程解析
2020/12/14 Python
你不知道的葡萄干处理法、橙蜜处理法、二氧化碳酵母法
2021/03/17 冲泡冲煮
一级方程式赛车官方网上商店:F1 Store(支持中文)
2018/01/12 全球购物
英国领先的露营和露营车品牌之一:OLPRO
2019/08/06 全球购物
湖南卫视在线视频媒体平台:芒果TV
2019/10/30 全球购物
函授毕业生自我鉴定
2013/11/06 职场文书
银行员工职业规划范文
2014/01/21 职场文书
CSS3 制作的悬停缩放特效
2021/04/13 HTML / CSS