3.3 【实战】爬取BOSS直聘招聘信息

2024-08-27 15:20

本文主要是介绍3.3 【实战】爬取BOSS直聘招聘信息,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

第四节:爬取招聘网站信息

课程目标

  • 对boss直聘招聘信息爬取并进行简单的分析

课程内容

编码实现

解析网站:https://www.spidertools.cn/#/curl2Request

1. 爬虫部分
import requests
import pandas as pd
from tqdm import tqdm
import time
def get_job_list(page=1):headers = {"accept": "application/json, text/plain, */*","accept-language": "zh-CN,zh;q=0.9","priority": "u=1, i","referer": "https://www.zhipin.com/web/geek/job?query=python%E5%BC%80%E5%8F%91&city=101270100","sec-ch-ua": "\"Not)A;Brand\";v=\"99\", \"Google Chrome\";v=\"127\", \"Chromium\";v=\"127\"","sec-ch-ua-mobile": "?0","sec-ch-ua-platform": "\"Windows\"","sec-fetch-dest": "empty","sec-fetch-mode": "cors","sec-fetch-site": "same-origin","traceid": "F-a05d1b8WJPFaqSiJ","user-agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/127.0.0.0 Safari/537.36","x-requested-with": "XMLHttpRequest"}cookies = {"Hm_lvt_194df3105ad7148dcf2b98a91b5e727a": "1724658599","HMACCOUNT": "E109D3011F5CA4E9","__g": "-","Hm_lpvt_194df3105ad7148dcf2b98a91b5e727a": "1724674759","__fid": "ef51d0c8944e0fc0a3e5db1854b55699","__zp_stoken__": "ad34fw47CtMKKH0VeaxofG1LCiH9qecONUcKKw4zDgXFQVMK4UMK8w4dkcsOMw4HCrsKzw4HCscKeasK3wrjCtcK1wpdZwqzCssKjUcKRUMKgUMSMwqTCpMSnxInFgcOmf8O0w4XCqEI2FBAUEg4WGhYYHBYaERMXFBAUEg4UEBQSDkI5xIFxMkRDSEM1VlpWEVlpaFFqVRNeTk5HRWEXGV5FP0FDR0HDj0HDhB%2FDi0XDghvDjUHCvmFDT0FFw4caME3DgCAXwr5KEcKAF0AVZWLDk23EjVYnw4TCvj1DR8ODxYRIQCNJPkRKREJPREAzQivDkW%2FEjVwhw4LCszRDHkxARE1AREBETz5GNERLYi5AQTNKEg4XFR03T8OFw4DDh8OrQEQ%3D","__c": "1724658600","__a": "39645613.1724658600..1724658600.19.1.19.19"
}url = "https://www.zhipin.com/wapi/zpgeek/search/joblist.json"params = {"scene": "1","query": "python开发","city": "101270100","experience": "","payType": "","partTime": "","degree": "","industry": "","scale": "","stage": "","position": "","jobType": "","salary": "","multiBusinessDistrict": "","multiSubway": "","page": f"{page}","pageSize": "30"}response = requests.get(url, headers=headers, cookies=cookies, params=params)rj  = response.json()zpData = rj['zpData']jobList = zpData['jobList']return jobList
jobs = []
for i in tqdm(range(1, 3)):jobList = get_job_list(i)jobs.extend(jobList)time.sleep(3)
infos = []
for job in jobs:info = {"职位名称":job[ 'jobName'],"薪资":job[ 'salaryDesc'],"学历要求":job[ 'jobDegree'],"要求技能":job[ 'skills'],"公示名称":job[ 'brandName'],"人员规模":job[ 'brandScaleName'],"福利":job[ 'welfareList'],"行业":job[ 'brandIndustry'],"老板名字":job[ 'bossName'],"职位":job[ 'bossTitle'],"所在城市":job[ 'cityName'],"所在区":job[ 'areaDistrict'],"区域":job[ 'businessDistrict'],"在线状态":"在线" if job["bossOnline"] else "离线",
}   infos.append(info)
df = pd.DataFrame(infos)
df.to_csv("boss直聘python开发岗位信息.csv", index=False)
2. 数据分析部分
import pandas as pd
df = pd.read_csv("boss直聘python开发岗位信息.csv")
df.head()
def print_skill_as(skills):splites_skills = []for sk in skills:splites_skills.extend(sk)se = pd.DataFrame({'技能': splites_skills,})gp = se.groupby("技能")dt = gp.size().sort_values(ascending=False)print(dt)
gp = df.groupby("学历要求")
gp.size().sort_values(ascending=False)
a_df =df[df["人员规模"] == "20-99人"]
b_df =df[df["人员规模"] == "100-499人"]
gp = b_df.groupby("薪资")
gp.size().sort_values(ascending=False)
print_skill_as(b_df["福利"])

这篇关于3.3 【实战】爬取BOSS直聘招聘信息的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1112048

相关文章

网页解析 lxml 库--实战

lxml库使用流程 lxml 是 Python 的第三方解析库,完全使用 Python 语言编写,它对 XPath表达式提供了良好的支 持,因此能够了高效地解析 HTML/XML 文档。本节讲解如何通过 lxml 库解析 HTML 文档。 pip install lxml lxm| 库提供了一个 etree 模块,该模块专门用来解析 HTML/XML 文档,下面来介绍一下 lxml 库

性能分析之MySQL索引实战案例

文章目录 一、前言二、准备三、MySQL索引优化四、MySQL 索引知识回顾五、总结 一、前言 在上一讲性能工具之 JProfiler 简单登录案例分析实战中已经发现SQL没有建立索引问题,本文将一起从代码层去分析为什么没有建立索引? 开源ERP项目地址:https://gitee.com/jishenghua/JSH_ERP 二、准备 打开IDEA找到登录请求资源路径位置

C#实战|大乐透选号器[6]:实现实时显示已选择的红蓝球数量

哈喽,你好啊,我是雷工。 关于大乐透选号器在前面已经记录了5篇笔记,这是第6篇; 接下来实现实时显示当前选中红球数量,蓝球数量; 以下为练习笔记。 01 效果演示 当选择和取消选择红球或蓝球时,在对应的位置显示实时已选择的红球、蓝球的数量; 02 标签名称 分别设置Label标签名称为:lblRedCount、lblBlueCount

业务中14个需要进行A/B测试的时刻[信息图]

在本指南中,我们将全面了解有关 A/B测试 的所有内容。 我们将介绍不同类型的A/B测试,如何有效地规划和启动测试,如何评估测试是否成功,您应该关注哪些指标,多年来我们发现的常见错误等等。 什么是A/B测试? A/B测试(有时称为“分割测试”)是一种实验类型,其中您创建两种或多种内容变体——如登录页面、电子邮件或广告——并将它们显示给不同的受众群体,以查看哪一种效果最好。 本质上,A/B测

【北交大信息所AI-Max2】使用方法

BJTU信息所集群AI_MAX2使用方法 使用的前提是预约到相应的算力卡,拥有登录权限的账号密码,一般为导师组共用一个。 有浏览器、ssh工具就可以。 1.新建集群Terminal 浏览器登陆10.126.62.75 (如果是1集群把75改成66) 交互式开发 执行器选Terminal 密码随便设一个(需记住) 工作空间:私有数据、全部文件 加速器选GeForce_RTX_2080_Ti

滚雪球学Java(87):Java事务处理:JDBC的ACID属性与实战技巧!真有两下子!

咦咦咦,各位小可爱,我是你们的好伙伴——bug菌,今天又来给大家普及Java SE啦,别躲起来啊,听我讲干货还不快点赞,赞多了我就有动力讲得更嗨啦!所以呀,养成先点赞后阅读的好习惯,别被干货淹没了哦~ 🏆本文收录于「滚雪球学Java」专栏,专业攻坚指数级提升,助你一臂之力,带你早日登顶🚀,欢迎大家关注&&收藏!持续更新中,up!up!up!! 环境说明:Windows 10

springboot实战学习(1)(开发模式与环境)

目录 一、实战学习的引言 (1)前后端的大致学习模块 (2)后端 (3)前端 二、开发模式 一、实战学习的引言 (1)前后端的大致学习模块 (2)后端 Validation:做参数校验Mybatis:做数据库的操作Redis:做缓存Junit:单元测试项目部署:springboot项目部署相关的知识 (3)前端 Vite:Vue项目的脚手架Router:路由Pina:状态管理Eleme

Linux命令(11):系统信息查看命令

系统 # uname -a # 查看内核/操作系统/CPU信息# head -n 1 /etc/issue # 查看操作系统版本# cat /proc/cpuinfo # 查看CPU信息# hostname # 查看计算机名# lspci -tv # 列出所有PCI设备# lsusb -tv

深度学习实战:如何利用CNN实现人脸识别考勤系统

1. 何为CNN及其在人脸识别中的应用 卷积神经网络(CNN)是深度学习中的核心技术之一,擅长处理图像数据。CNN通过卷积层提取图像的局部特征,在人脸识别领域尤其适用。CNN的多个层次可以逐步提取面部的特征,最终实现精确的身份识别。对于考勤系统而言,CNN可以自动从摄像头捕捉的视频流中检测并识别出员工的面部。 我们在该项目中采用了 RetinaFace 模型,它基于CNN的结构实现高效、精准的

项目实战系列三: 家居购项目 第四部分

购物车 🌳购物车🍆显示购物车🍆更改商品数量🍆清空购物车&&删除商品 🌳生成订单 🌳购物车 需求分析 1.会员登陆后, 可以添加家居到购物车 2.完成购物车的设计和实现 3.每添加一个家居,购物车的数量+1, 并显示 程序框架图 1.新建src/com/zzw/furns/entity/CartItem.java, CartItem-家居项模型 /***