如何让Python爬取招聘网站数据并做数据可视化处理
发表于:2024-09-22 作者:千家信息网编辑
千家信息网最后更新 2024年09月22日,如何让Python爬取招聘网站数据并做数据可视化处理,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。基本开发环境Python 3.6Pyc
千家信息网最后更新 2024年09月22日如何让Python爬取招聘网站数据并做数据可视化处理
如何让Python爬取招聘网站数据并做数据可视化处理,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。
基本开发环境
Python 3.6
Pycharm
相关模块使用
爬虫模块
import requestsimport reimport parselimport csv
词云模块
import jiebaimport wordcloud
目标网页分析
'https://jobs.51job.com/beijing-ftq/127676506.html?s=01&t=0'
每一个招聘信息的详情页都是有对应的ID,只需要正则匹配提取ID值,通过拼接URL,然后再去招聘详情页提取招聘数据即可。
response = requests.get(url=url, headers=headers)lis = re.findall('"jobid":"(\d+)"', response.text)for li in lis: page_url = 'https://jobs.51job.com/beijing-hdq/{}.html?s=01&t=0'.format(li)
虽然网站是静态网页,但是网页编码是乱码,在爬取的过程中需要转码。
f = open('招聘.csv', mode='a', encoding='utf-8', newline='')csv_writer = csv.DictWriter(f, fieldnames=['标题', '地区', '工作经验', '学历', '薪资', '福利', '招聘人数', '发布日期'])csv_writer.writeheader()response = requests.get(url=page_url, headers=headers)response.encoding = response.apparent_encodingselector = parsel.Selector(response.text)title = selector.css('.cn h2::text').get() # 标题salary = selector.css('div.cn strong::text').get() # 薪资welfare = selector.css('.jtag div.t1 span::text').getall() # 福利welfare_info = '|'.join(welfare)data_info = selector.css('.cn p.msg.ltype::attr(title)').get().split(' | ')area = data_info[0] # 地区work_experience = data_info[1] # 工作经验educational_background = data_info[2] # 学历number_of_people = data_info[3] # 招聘人数release_date = data_info[-1].replace('发布', '') # 发布日期all_info_list = selector.css('div.tCompany_main > div:nth-child(1) > div p span::text').getall()all_info = '\n'.join(all_info_list)dit = { '标题': title, '地区': area, '工作经验': work_experience, '学历': educational_background, '薪资': salary, '福利': welfare_info, '招聘人数': number_of_people, '发布日期': release_date,}csv_writer.writerow(dit)with open('招聘信息.txt', mode='a', encoding='utf-8') as f: f.write(all_info)
以上步骤即可完成关于招聘的相关数据爬取。
简单粗略的数据清洗
薪资待遇
content = pd.read_csv(r'D:\python\demo\数据分析\招聘\招聘.csv', encoding='utf-8')salary = content['薪资']salary_1 = salary[salary.notnull()]salary_count = pd.value_counts(salary_1)
学历要求
content = pd.read_csv(r'D:\python\demo\数据分析\招聘\招聘.csv', encoding='utf-8')educational_background = content['学历']educational_background_1 = educational_background[educational_background.notnull()]educational_background_count = pd.value_counts(educational_background_1).head()print(educational_background_count)bar = Bar()bar.add_xaxis(educational_background_count.index.tolist())bar.add_yaxis("学历", educational_background_count.values.tolist())bar.render('bar.html')
显示招聘人数为无要求
工作经验
content = pd.read_csv(r'D:\python\demo\数据分析\招聘\招聘.csv', encoding='utf-8')work_experience = content['工作经验']work_experience_count = pd.value_counts(work_experience)print(work_experience_count)bar = Bar()bar.add_xaxis(work_experience_count.index.tolist())bar.add_yaxis("经验要求", work_experience_count.values.tolist())bar.render('bar.html')
词云分析,技术点要求
py = imageio.imread("python.png")f = open('python招聘信息.txt', encoding='utf-8')re_txt = f.read()result = re.findall(r'[a-zA-Z]+', re_txt)txt = ' '.join(result)# jiabe 分词 分割词汇txt_list = jieba.lcut(txt)string = ' '.join(txt_list)# 词云图设置wc = wordcloud.WordCloud( width=1000, # 图片的宽 height=700, # 图片的高 background_color='white', # 图片背景颜色 font_path='msyh.ttc', # 词云字体 mask=py, # 所使用的词云图片 scale=15, stopwords={' '}, # contour_width=5, # contour_color='red' # 轮廓颜色)# 给词云输入文字wc.generate(string)# 词云图保存图片地址wc.to_file(r'python招聘信息.png')
总结:
数据分析是真的粗糙,属实辣眼睛。
看完上述内容,你们掌握如何让Python爬取招聘网站数据并做数据可视化处理的方法了吗?如果还想学到更多技能或想了解更多相关内容,欢迎关注行业资讯频道,感谢各位的阅读!
招聘
数据
经验
学历
分析
图片
薪资
工作
人数
信息
数据分析
网站
地区
日期
标题
模块
福利
网页
招聘网站
可视化
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
软件开发是增删吗
软件开发部门的职责
泰州手机软件开发中心
凤凰之神 服务器
服务器操作系统哪个好
2018网络安全管理者必读
无锡智能软件开发创新服务
四年级一等奖的网络安全的手抄报
职业目标评估网络安全
开户行数据库下载
教育软件开发的需求分析
安卓软件开发血条
电脑服务器老断开是怎么回事
黄岛区分销软件开发哪家便宜
深圳网络技术招聘信息
南京毕马威软件开发
方舟生存进化二如何创建服务器
什么软件开发技术最简单
网络安全方面的小报
随州放心的软件开发企业
千兆服务器网口连百兆交换机
网络安全专题形势分析会
互联网科技效果好吗
网络安全法 举办 讲解
珠海网络技术学校
软件开发厂家代理商
长乐网络技术有限公司招聘
网络安全职位岗位责任书
杭州网络技术服务有哪些
大学生网络技术是干什么的