前言
从智联招聘爬取相关信息后,我们关心的是如何对内容进行分析,获取用用的信息。
本次以上篇文章“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]))
