python求职Top10城市,来看看是否有你所在的城市

 

前言

从智联招聘爬取相关信息后,我们关心的是如何对内容进行分析,获取用用的信息。

本次以上篇文章“5分钟掌握智联招聘网站爬取并保存到MongoDB数据库”中爬取的数据为基础,分析关键词为“python”的爬取数据的情况,获取包括全国python招聘数量Top10的城市列表以及其他相关信息。

一、主要分析步骤

  • 数据读取
  • 数据整理
  • 对职位数量在全国主要城市的分布情况进行分析
  • 对全国范围内的职位月薪情况进行分析
  • 对该职位招聘岗位要求描述进行词云图分析,获取频率最高的关键字
  • 选取两个城市,分别分析月薪分布情况以及招聘要求的词云图分析

二、具体分析过程

import pymongo import pandas as pd import matplotlib.pyplot as plt import numpy as np % matplotlib inline plt.style.use('ggplot') 
# 解决matplotlib显示中文问题 plt.rcParams['font.sans-serif'] = ['SimHei']  # 指定默认字体 plt.rcParams['axes.unicode_minus'] = False  # 解决保存图像是负号'-'显示为方块的问题 

1 读取数据

client = pymongo.MongoClient('localhost') db = client['zhilian'] table = db['python']  columns = ['zwmc',            'gsmc',            'zwyx',            'gbsj',            'gzdd',            'fkl',            'brief',            'zw_link',            '_id',            'save_date']  # url_set =  set([records['zw_link'] for records in table.find()]) # print(url_set)  df = pd.DataFrame([records for records in table.find()], columns=columns)  # columns_update = ['职位名称', #                   '公司名称', #                   '职位月薪', #                   '公布时间', #                   '工作地点', #                   '反馈率', #                   '招聘简介', #                   '网页链接', #                   '_id', #                   '信息保存日期'] # df.columns = columns_update print('总行数为:{}行'.format(df.shape[0])) df.head(2) 

结果如图1所示:

2 数据整理

2.1 将str格式的日期变为 datatime

df['save_date'] = pd.to_datetime(df['save_date']) print(df['save_date'].dtype) # df['save_date'] 
datetime64[ns] 

2.2 筛选月薪格式为“XXXX-XXXX”的信息

df_clean = df[['zwmc',            'gsmc',            'zwyx',            'gbsj',            'gzdd',            'fkl',            'brief',            'zw_link',            'save_date']]  # 对月薪的数据进行筛选,选取格式为“XXXX-XXXX”的信息,方面后续分析 df_clean = df_clean[df_clean['zwyx'].str.contains('\d+-\d+', regex=True)] print('总行数为:{}行'.format(df_clean.shape[0])) 
                        
关键字:
50000+
5万行代码练就真实本领
17年
创办于2008年老牌培训机构
1000+
合作企业
98%
就业率

联系我们

电话咨询

0532-85025005

扫码添加微信