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 相关文章推荐
在Linux下调试Python代码的各种方法
Apr 17 Python
python3之模块psutil系统性能信息使用
May 30 Python
Scrapy基于selenium结合爬取淘宝的实例讲解
Jun 13 Python
python使用mitmproxy抓取浏览器请求的方法
Jul 02 Python
解决python flask中config配置管理的问题
Jul 26 Python
Pytorch抽取网络层的Feature Map(Vgg)实例
Aug 20 Python
Python算法的时间复杂度和空间复杂度(实例解析)
Nov 19 Python
使用Python实现画一个中国地图
Nov 23 Python
python 解决mysql where in 对列表(list,,array)问题
Jun 06 Python
Python中使用aiohttp模拟服务器出现错误问题及解决方法
Oct 31 Python
Jupyter安装链接aconda实现过程图解
Nov 02 Python
在Python中字典按值排序的实现方法
Nov 12 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 采集获取指定网址的内容
2010/01/05 PHP
劣质的PHP代码简化
2010/02/08 PHP
ExtJS与PHP、MySQL实现存储的方法
2010/04/02 PHP
对text数据类型不支持代码页转换 从: 1252 到: 936
2011/04/23 PHP
PHP MySQL应用中使用XOR运算加密算法分享
2011/08/28 PHP
php获取网页请求状态程序示例
2014/06/17 PHP
在html文件中也可以执行php语句的方法
2015/04/09 PHP
php统计数组元素个数的方法
2015/07/02 PHP
Laravel使用memcached缓存对文章增删改查进行优化的方法
2016/10/08 PHP
php登录超时检测功能实例详解
2017/03/21 PHP
Linux下源码包安装Swoole及基本使用操作图文详解
2019/04/02 PHP
Thinkphp整合阿里云OSS图片上传实例代码
2019/04/28 PHP
Javascript操作select方法大全[新增、修改、删除、选中、清空、判断存在等]
2008/09/26 Javascript
层序遍历在ExtJs的TreePanel中的应用
2009/10/16 Javascript
使用js简单实现了tree树菜单
2013/11/20 Javascript
JS实现屏蔽shift,Ctrl,alt等功能键的方法
2015/06/01 Javascript
javascript事件绑定学习要点
2016/03/09 Javascript
vue 动态表单开发方法案例详解
2019/12/02 Javascript
taro 实现购物车逻辑的实例代码
2020/06/05 Javascript
openLayer4实现动态改变标注图标
2020/08/17 Javascript
编写Python爬虫抓取暴走漫画上gif图片的实例分享
2016/04/20 Python
利用python3随机生成中文字符的实现方法
2017/11/24 Python
Python实现的txt文件去重功能示例
2018/07/07 Python
Django之模型层多表操作的实现
2019/01/08 Python
python使用socket 先读取长度,在读取报文内容示例
2019/09/26 Python
Django框架之中间件MiddleWare的实现
2019/12/30 Python
python实现秒杀商品的微信自动提醒功能(代码详解)
2020/04/27 Python
如何在mac版pycharm选择python版本
2020/07/21 Python
numpy中生成随机数的几种常用函数(小结)
2020/08/18 Python
简述synchronized和java.util.concurrent.locks.Lock的异同
2014/12/08 面试题
实习老师个人总结的自我评价
2013/09/28 职场文书
应届生学校辅导员求职信
2013/11/07 职场文书
项目投资建议书
2014/05/16 职场文书
服务明星事迹材料
2014/12/29 职场文书
2015年父亲节活动总结
2015/02/12 职场文书
2019消防宣传标语!
2019/07/10 职场文书