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读写二进制文件的方法
May 09 Python
详解Python读取配置文件模块ConfigParser
May 11 Python
Python利用Django如何写restful api接口详解
Jun 08 Python
使用python根据端口号关闭进程的方法
Nov 06 Python
pycharm创建一个python包方法图解
Apr 10 Python
python 基于TCP协议的套接字编程详解
Jun 29 Python
python OpenCV GrabCut使用实例解析
Nov 11 Python
Python Lambda函数使用总结详解
Dec 11 Python
PyCharm如何导入python项目的方法
Feb 06 Python
Python库skimage绘制二值图像代码实例
Apr 10 Python
使用Python构造hive insert语句说明
Jun 06 Python
Python还能这么玩之用Python做个小游戏的外挂
Jun 04 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
php microtime获取浮点的时间戳
2010/02/21 PHP
分享一段php获取linux服务器状态的代码
2014/05/27 PHP
php实现上传图片文件代码
2015/07/19 PHP
PHP 获取 ping 时间的实现方法
2017/09/29 PHP
ext读取两种结构的xml的代码
2008/11/05 Javascript
javascript+iframe 实现无刷新载入整页的代码
2010/03/17 Javascript
extjs实现选择多表自定义查询功能 前台部分(ext源码)
2011/12/20 Javascript
Three.js源码阅读笔记(基础的核心Core对象)
2012/12/27 Javascript
JQuery-tableDnD 拖拽的基本使用介绍
2013/07/04 Javascript
基于jquery实现的文字向上跑动类似跑马灯的效果
2014/06/17 Javascript
javascript自动生成包含数字与字符的随机字符串
2015/02/09 Javascript
jQuery AJAX timeout 超时问题详解
2016/06/21 Javascript
详解Angular调试技巧之报错404(not found)
2018/01/31 Javascript
浅谈针对Vue相同路由不同参数的刷新问题
2018/09/29 Javascript
详解ES6 Fetch API HTTP请求实用指南
2018/11/14 Javascript
layui 实现二级弹窗弹出之后 关闭一级弹窗的方法
2019/09/18 Javascript
JavaScript实现随机点名程序
2020/03/25 Javascript
ant-design-vue按需加载的坑的解决
2020/05/14 Javascript
用Python制作检测Linux运行信息的工具的教程
2015/04/01 Python
浅谈python中set使用
2016/06/30 Python
python 删除大文件中的某一行(最有效率的方法)
2017/08/19 Python
pytorch: tensor类型的构建与相互转换实例
2018/07/26 Python
Python 字符串换行的多种方式
2018/09/06 Python
Python求两个圆的交点坐标或三个圆的交点坐标方法
2018/11/07 Python
对python For 循环的三种遍历方式解析
2019/02/01 Python
python实现翻转棋游戏(othello)
2019/07/29 Python
Python列表去重复项的N种方法(实例代码)
2020/05/12 Python
英国折扣零售连锁店:QD Stores
2018/12/08 全球购物
英国PC组件和在线电脑商店:SCAN
2019/04/18 全球购物
英国户外装备商店:Ultimate Outdoors
2019/05/07 全球购物
英文推荐信格式范文
2014/05/09 职场文书
廉洁家庭事迹材料
2014/05/15 职场文书
办公室务虚会发言材料
2014/10/20 职场文书
高中生综合素质评价范文
2015/08/18 职场文书
校园安全教育心得体会
2016/01/15 职场文书
高考要来啦!用Python爬取历年高考数据并分析
2021/06/03 Python