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进阶教程之函数参数的多种传递方法
Aug 30 Python
python实现每次处理一个字符的三种方法
Oct 09 Python
详解Python2.x中对Unicode编码的使用
Apr 03 Python
Python实现根据IP地址和子网掩码算出网段的方法
Jul 30 Python
PyQt5每天必学之创建窗口居中效果
Apr 19 Python
python docx 中文字体设置的操作方法
May 08 Python
Python for循环中的陷阱详解
Jul 13 Python
Python PyAutoGUI模块控制鼠标和键盘实现自动化任务详解
Sep 04 Python
windows下cx_Freeze生成Python可执行程序的详细步骤
Oct 09 Python
Python2和Python3之间的str处理方式导致乱码的讲解
Jan 03 Python
Python2和3字符编码的区别知识点整理
Aug 08 Python
python实现自动化群控的步骤
Apr 11 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中session和cookie无效的解决方法
2014/12/19 PHP
PHP7.0版本备注
2015/07/23 PHP
php实现给二维数组中所有一维数组添加值的方法
2017/02/04 PHP
javascript新手语法小结
2008/06/15 Javascript
30个精美的jQuery幻灯片效果插件和教程
2011/08/23 Javascript
父页面显示遮罩层弹出半透明状态的dialog
2014/03/04 Javascript
js判断当前浏览器类型,判断IE浏览器方法
2014/06/02 Javascript
javascript学习笔记(六)数据类型和JSON格式
2014/10/08 Javascript
基于javascript实现的搜索时自动提示功能
2014/12/26 Javascript
JavaScript必知必会(十) call apply bind的用法说明
2016/06/08 Javascript
利用node.js+mongodb如何搭建一个简单登录注册的功能详解
2017/07/30 Javascript
详解nodejs通过代理(proxy)发送http请求(request)
2017/09/22 NodeJs
JS扩展String.prototype.format字符串拼接的功能
2018/03/09 Javascript
javascript中UMD规范的代码推演
2018/08/29 Javascript
clipboard在vue中的使用的方法示例
2018/10/19 Javascript
微信小程序实现弹出层效果
2020/05/26 Javascript
JS事件绑定的常用方式实例总结
2019/03/02 Javascript
python实现代码行数统计示例分享
2014/02/10 Python
Python获取文件所在目录和文件名的方法
2017/01/12 Python
python验证码识别教程之滑动验证码
2018/06/04 Python
Windows下PyCharm安装图文教程
2018/08/27 Python
python判断数字是否是超级素数幂
2018/09/27 Python
Python运行不显示DOS窗口的解决方法
2018/10/22 Python
python对于requests的封装方法详解
2019/01/03 Python
python 将大文件切分为多个小文件的实例
2019/01/14 Python
解决pycharm中opencv-python导入cv2后无法自动补全的问题(不用作任何文件上的修改)
2020/03/05 Python
Python Opencv 通过轨迹(跟踪)栏实现更改整张图像的背景颜色
2020/03/09 Python
用HTML5制作数字时钟的教程
2015/05/11 HTML / CSS
Nike加拿大官网:Nike.com (CA)
2019/04/09 全球购物
新驾驶员个人自我评价
2014/01/03 职场文书
旅游饭店管理专业自荐书
2014/06/28 职场文书
2016公司年会通知范文
2015/04/25 职场文书
辞职离别感言
2015/08/04 职场文书
解决go在函数退出后子协程的退出问题
2021/04/30 Golang
linux下导入、导出mysql数据库命令的实现方法
2021/05/26 MySQL
详解Redis集群搭建的三种方式
2021/05/31 Redis