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编程时利用wxPython来支持多线程的方法
Apr 07 Python
C#返回当前系统所有可用驱动器符号的方法
Apr 18 Python
Python每天必学之bytes字节
Jan 28 Python
解析Python中的生成器及其与迭代器的差异
Jun 20 Python
Python socket网络编程TCP/IP服务器与客户端通信
Jan 05 Python
Python模拟脉冲星伪信号频率实例代码
Jan 03 Python
基于Pandas读取csv文件Error的总结
Jun 15 Python
python 操作mysql数据中fetchone()和fetchall()方式
May 15 Python
Python xlrd模块导入过程及常用操作
Jun 10 Python
Keras实现支持masking的Flatten层代码
Jun 16 Python
教你用python实现一个无界面的小型图书管理系统
May 21 Python
Django分页器的用法你都了解吗
May 26 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 多行多列显示
2009/08/15 PHP
php下用cookie统计用户访问网页次数的代码
2010/05/09 PHP
队列在编程中的实际应用(php)
2010/09/04 PHP
php入门教程之Zend Studio设置与开发实例
2016/09/09 PHP
jquery获取焦点和失去焦点事件代码
2013/04/21 Javascript
jQuery中removeProp()方法用法实例
2015/01/05 Javascript
简介JavaScript中fixed()方法的使用
2015/06/08 Javascript
jQuery的end()方法使用详解
2015/07/15 Javascript
微信JS接口大全
2016/08/25 Javascript
使用Vue.js创建一个时间跟踪的单页应用
2016/11/28 Javascript
Javascript 闭包详解及实例代码
2016/11/30 Javascript
bootstrap日历插件datetimepicker使用方法
2016/12/14 Javascript
javascript构造函数以及原型对象的理解
2017/01/13 Javascript
微信小程序 devtool隐藏的秘密
2017/01/21 Javascript
jQuery实现拼图小游戏(实例讲解)
2017/07/24 jQuery
Vue学习笔记之表单输入控件绑定
2017/09/05 Javascript
微信小程序实现左右联动的实战记录
2018/07/05 Javascript
Vue项目从webpack3.x升级webpack4不完全指南
2019/04/28 Javascript
详解element-ui级联菜单(城市三级联动菜单)和回显问题
2019/10/02 Javascript
vue路由拦截器和请求拦截器知识点总结
2019/11/08 Javascript
[42:24]完美世界DOTA2联赛循环赛 LBZS vs DM BO2第一场 11.01
2020/11/02 DOTA
python爬虫入门教程--利用requests构建知乎API(三)
2017/05/25 Python
Django + Uwsgi + Nginx 实现生产环境部署的方法
2018/06/20 Python
python3.7.0的安装步骤
2018/08/27 Python
详解Python的循环结构知识点
2019/05/20 Python
PyTorch基本数据类型(一)
2019/05/22 Python
Python3 xml.etree.ElementTree支持的XPath语法详解
2020/03/06 Python
百度软件工程师职位
2013/02/14 面试题
医药专业应届毕业生求职信范文
2014/01/01 职场文书
食品安全工作方案
2014/05/07 职场文书
深入开展党的群众路线教育实践活动心得体会
2014/11/05 职场文书
2014年远程教育工作总结
2014/12/09 职场文书
2015年暑期实践报告范文
2015/07/13 职场文书
初中物理教学反思
2016/02/19 职场文书
公司开业的祝贺语大全(60条)
2019/07/05 职场文书
2021-4-5课程——SQL Server查询【3】
2021/04/05 SQL Server