前程无忧岗位数据可视化分析报告

这篇具有很好参考价值的文章主要介绍了前程无忧岗位数据可视化分析报告。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

1.数据爬取

数据爬取的内容主要包括30个岗位种类(数据分析,产品经理,产品助理,交互设计,前端开发,软件设计,IOS开发,业务分析,安卓开发,PHP开发,业务咨询,需求分析,流程设计,售后经理,售前经理,技术支持,ERP实施,实施工程师,IT项目经理,IT项目助理,信息咨询,数据挖掘,数据运营,网络营销,物流与供应链,渠道管理,电商运营,客户关系管理,新媒体运营,产品运营),每一个岗位爬取的信息包括:岗位名称、公司名称、公司规模、工作地点、薪资、工作要求、工作待遇等。

数据爬取代码展示:

1. import requests  
2. from bs4 import BeautifulSoup  
3. import pymysql  
4. import random  
5. from selenium import webdriver  
6. from lxml import etree  
7. import lxml  
8. from selenium.webdriver import ChromeOptions  
9. import re  
10. import time  
11. import  requests  
12. #定义函数,用于获取每个 url 的 html  
13. def spider(url):  
14.     headers = {  
15.         "user-agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/94.0.4606.61 Safari/537.36 Edg/94.0.992.31"}  
16.     try:  
17.         rep = requests.get(url, headers=headers)  
18.         rep.raise_for_status()  
19.         rep.encoding = rep.apparent_encoding  
20.         txt = rep.text  
21.         return txt  
22.     except:  
23.         print("解析失败")  
24.   
25. #定义 jiexi()函数,用于解析得到的 html  
26. def jiexi(html, info,name):  
27.     soup = BeautifulSoup(html, "lxml")  
28.     text = soup.find_all("script", type="text/javascript")[3].string  
29.     #观察原始代码发现我们需要的数据在 engine_jds 后  
30.     data = eval(str(text).split("=", 1)[1])["engine_jds"]  
31.     for d in data:  
32.         try:  
33.             job_name = d["job_name"].replace("\\", "")  # 岗位名称  
34.         except:  
35.             job_name = " "  
36.         try:  
37.             company_name = d["company_name"].replace("\\", "")  # 公司名称  
38.         except:  
39.             company_name = " "  
40.         try:  
41.             providesalary_text = d["providesalary_text"].replace("\\", "")  # 薪资  
42.         except:  
43.             providesalary_text = " "  
44.         try:  
45.             workarea_text = d["workarea_text"].replace("\\", "")    #工作地点  
46.         except:  
47.             workarea_text = " "  
48.         try:  
49.             updatedate = d["updatedate"].replace("\\", "")  #更新时间  
50.         except:  
51.             updatedate = " "  
52.         try:  
53.             jobwelf = d["jobwelf"].replace("\\", "")    # 工作待遇  
54.         except:  
55.             jobwelf = " "  
56.         try:  
57.             companyind_text = d["companyind_text"].replace("\\", "")  # 公司类型  
58.         except:  
59.             companyind_text = " "  
60.         try:  
61.             companysize_text = d["companysize_text"].replace("\\", "") # 公司规模  
62.         except:  
63.             companysize_text = " "  
64.         try:  
65.             at = d["attribute_text"]    # 工作要求  
66.             s = ''  
67.             for i in range(0, len(at)):  
68.                 s = s + at[i] + ','  
69.                 attribute_text = s[:-1]  
70.         except:  
71.             attribute_text = " "  
72. #将每一条岗位数据爬取下的内容以及传入参数 name 作为一个列表,依此加入到 info 列表中  
73.         info.append( [ name,job_name, updatedate, company_name, companyind_text, companysize_text, workarea_text, providesalary_text, attribute_text, jobwelf])  
74. #将数据存到 MySQL 中名为“51job”的数据库中  
75. def save(info):  
76.     #将数据保存到数据库表中对应的列  
77.     for data in info :  
78.         present_job = data[0]  # 当前爬取岗位  
79.         job_name = data[1]  #岗位  
80.         updatedate = data[2]            #更新时间  
81.         company_name = data[3]  # 公司名称  
82.         companyind_text = data[4]           #公司类型  
83.         companysize_text = data[5]          #公司规模  
84.         workarea_text = data[6]                 #工作地点  
85.         providesalary_text = data[7]                    #薪资  
86.         attribute_text = data[8]        #工作要求  
87.         jobwelf = data[9]   #工作待遇  
88.         # 创建 sql 语句  
89.         sql = "insert into jobs(当前爬取岗位,岗位,更新时间,公司名称,公司类型,公司规模,工作地点,薪资,工作要求,工作待遇) values(%s,%s,%s,%s,%s,%s,%s,%s,%s,%s)"  
90.         # 执行 sql 语句  
91.         cursor.execute(sql, [present_job, job_name, updatedate, company_name, companyind_text, companysize_text,  
92.                              workarea_text, providesalary_text, attribute_text, jobwelf])  
93.         db.commit()  # 提交数据  
94. if    __name__  == '__main__':  #主函数  
95.     job=["产品经理","产品助理","交互设计","前端开发","软件设计","IOS开发","业务分析","安卓开发","PHP开发","业务咨询","需求分析","流程设计"  
96.     ,"售后经理","售前经理","技术支持","ERP实施","实施工程师","IT项目经理","IT项目助理","信息咨询","数据挖掘","数据运营","数据分析","网络营销",  
97.     "物流与供应链","渠道管理","电商运营","客户关系管理","新媒体运营","产品运营"]  
98.     page_list=['1141', '62', '169', '619', '356', '61', '229', '64', '56', '356', '1379', '147', '62', '29', '2000', '173', '184', '10', '2', '396', '221', '115', '2000', '381', '5', '295', '1233', '280', '699', '352']  
99.     #https://www.pexels.com/  
100.     option = ChromeOptions()  
101.     UA="Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/94.0.4606.61 Safari/537.36 Edg/94.0.992.31"  
102.     option.add_argument(f'user-agent={UA}')  
103.     option.add_experimental_option('useAutomationExtension', False)  
104.     option.add_experimental_option('excludeSwitches', ['enable-automation'])  
105.     web = webdriver.Chrome(chrome_options=option)  # chrome_options=chrome_opt,,options=option  
106.     web.execute_cdp_cmd("Page.addScriptToEvaluateOnNewDocument", {  
107.         "source": """ 
108.         Object.defineProperty(navigator, 'webdriver', { 
109.           get: () => undefined 
110.         }) 
111.       """  
112.     })  
113.     web.implicitly_wait(3)  
114.     url='https://search.51job.com/list/000000,000000,0000,00,9,99,%E4%BA%A7%E5%93%81%E7%BB%8F%E7%90%86,2,2.html?'  
115.     web.get(url)  
116.     time.sleep(6)  
117.     le=len(job)  
118.     db = pymysql.connect(  # 连接数据库host="127.0.0.1", #MySQL 服务器名  
119.         user="root",  # 用户名  
120.         password="root",  # 密码  
121.         database="python上机",  # 操作的数据库名称charset="utf8"  
122.     )  
123.     cursor = db.cursor()  
124.     for j in range(23,le):  
125.         for i in range(1,int(page_list[j])):#页面  
126.             info = []  
127.             # url = "https://search.51job.com/list/000000,000000,0000,00,9,99," + j + ",2," + str(i) + ".html?"  
128.             url = "https://search.51job.com/list/000000,000000,0000,00,9,99,{},2,{}.html?".format(job[j], i)  
129.             web.get(url)  
130.             ht = web.page_source  
131.             soup = BeautifulSoup(ht, "lxml")  
132.             jiexi(ht, info,job[j])  
133.             print('岗位{}:{}/{}'.format(j,i,page_list[j]))  
134.             time.sleep(1)  
135.             save(info)  
136.         time.sleep(1)  
137.     cursor.close()  
138.     # 关闭连接  
139.     db.close()  

数据爬取结果:

前程无忧岗位数据可视化分析报告

2.数据清洗

2.1匹配工作岗位

由于岗位爬取过程是以整页为单位进行的数据爬取,在爬取的最后一页岗位信息内容中会包含非关键词岗位搜索内容,为了确保爬取岗位信息的准确性,进行岗位匹配的数据清洗过程。

代码展示:文章来源地址https://www.toymoban.com/news/detail-457789.html

到了这里,关于前程无忧岗位数据可视化分析报告的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 大数据毕设项目 大数据招聘岗位数据分析与可视化 - 爬虫 python 大屏可视化

    # 1 前言 🔥 这两年开始毕业设计和毕业答辩的要求和难度不断提升,传统的毕设题目缺少创新和亮点,往往达不到毕业答辩的要求,这两年不断有学弟学妹告诉学长自己做的项目系统达不到老师的要求。 为了大家能够顺利以及最少的精力通过毕设,学长分享优质毕业设计项

    2024年02月05日
    浏览(32)
  • 大数据毕设分享 大数据招聘岗位数据分析与可视化 - 爬虫 python 大屏可视化

    # 1 前言 🔥 这两年开始毕业设计和毕业答辩的要求和难度不断提升,传统的毕设题目缺少创新和亮点,往往达不到毕业答辩的要求,这两年不断有学弟学妹告诉学长自己做的项目系统达不到老师的要求。 为了大家能够顺利以及最少的精力通过毕设,学长分享优质毕业设计项

    2024年02月04日
    浏览(46)
  • 基于Echarts构建大数据招聘岗位数据可视化大屏

    🤵‍♂️ 个人主页:@艾派森的个人主页 ✍🏻作者简介:Python学习者 🐋 希望大家多多支持,我们一起进步!😄 如果文章对你有帮助的话, 欢迎评论 💬点赞👍🏻 收藏 📂加关注+ 目录 1.项目背景 2.项目简介 3.项目流程 3.1整体布局 3.2左边布局 3.3中间布局  3.4右边布局  

    2024年02月03日
    浏览(36)
  • 数据分析案例-数据分析师岗位招聘信息可视化

      🤵‍♂️ 个人主页:@艾派森的个人主页 ✍🏻作者简介:Python学习者 🐋 希望大家多多支持,我们一起进步!😄 如果文章对你有帮助的话, 欢迎评论 💬点赞👍🏻 收藏 📂加关注+ 目录 ​编辑 1.数据集介绍 2.实验工具 3.实验过程 3.1加载数据 3.2数据预处理 3.3数据可视化

    2024年02月16日
    浏览(39)
  • 数据分析案例-BI工程师招聘岗位信息可视化分析

    🤵‍♂️ 个人主页:@艾派森的个人主页 ✍🏻作者简介:Python学习者 🐋 希望大家多多支持,我们一起进步!😄 如果文章对你有帮助的话, 欢迎评论 💬点赞👍🏻 收藏 📂加关注+ 目录 数据集介绍 实验工具  实验过程 导入数据 数据预处理 数据可视化 1.分析BI工程师岗位

    2024年02月06日
    浏览(27)
  • 数据分析毕业设计 大数据招聘岗位数据分析与可视化 - 爬虫 python

    # 1 前言 🔥 这两年开始毕业设计和毕业答辩的要求和难度不断提升,传统的毕设题目缺少创新和亮点,往往达不到毕业答辩的要求,这两年不断有学弟学妹告诉学长自己做的项目系统达不到老师的要求。 为了大家能够顺利以及最少的精力通过毕设,学长分享优质毕业设计项

    2024年02月10日
    浏览(32)
  • 计算机毕设 大数据工作岗位数据分析与可视化 - python flask

    🔥 这两年开始毕业设计和毕业答辩的要求和难度不断提升,传统的毕设题目缺少创新和亮点,往往达不到毕业答辩的要求,这两年不断有学弟学妹告诉学长自己做的项目系统达不到老师的要求。 为了大家能够顺利以及最少的精力通过毕设,学长分享优质毕业设计项目,今天

    2024年02月07日
    浏览(34)
  • python岗位数据可视化大屏全屏系统设计与实现(基于python的django框架)

     博主介绍 :黄菊华老师《Vue.js入门与商城开发实战》《微信小程序商城开发》图书作者,CSDN博客专家,在线教育专家,CSDN钻石讲师;专注大学生毕业设计教育和辅导。 所有项目都配有从入门到精通的基础知识视频课程,免费 项目配有对应开发文档、开题报告、任务书、

    2024年02月04日
    浏览(34)
  • 程序员岗位招聘信息数据可视化分析全屏大屏系统设计与实现(python的django框架)

     博主介绍 :黄菊华老师《Vue.js入门与商城开发实战》《微信小程序商城开发》图书作者,CSDN博客专家,在线教育专家,CSDN钻石讲师;专注大学生毕业设计教育和辅导。 所有项目都配有从入门到精通的基础知识视频课程,免费 项目配有对应开发文档、开题报告、任务书、

    2024年02月05日
    浏览(34)
  • 基于Python flask 的某招聘网站爬虫,招聘岗位可视化系统

    一、介绍 原文地址 今天为大家带来的是Python基于Flask的招聘信息爬取,招聘岗位分析、招聘可视化系统。 此系统是一个实时分析招聘信息的系统,应用Python爬虫、Flask框架、Echarts、VUE等技术实现。 本项目利用 Python 从某招聘网站抓取海量招聘数据,进行数据清洗和格式化后

    2024年02月07日
    浏览(37)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包