-
大小: 338KB文件类型: .rar金币: 2下载: 1 次发布日期: 2021-07-18
- 语言: Python
- 标签: python net-spider
资源简介
自己写的一个爬虫的小demo,可以成功爬取数据存储到本地,使用的话,改一下路径就可以了,爬取数据后,数据清洗,然后进行了简单的数据分析
代码片段和文件信息
import pandas as pd
import matplotlib.pyplot as plt
from wordcloud import WordCloud
from scipy.misc import imread
import jieba
from pylab import mpl
# 使matplotlib模块能显示中文
mpl.rcParams[‘font.sans-serif‘] = [‘SimHei‘] # 指定默认字体
mpl.rcParams[‘axes.unicode_minus‘] = False # 解决保存图像是负号‘-‘显示为方块的问题
# 读取数据
df = pd.read_csv(open(‘D:\python项目\lagou_jobs.csv‘ encoding = ‘gbk‘))
# 数据清洗剔除实习岗位
df.drop(df[df[‘职位名称‘].str.contains(‘实习‘)].index inplace=True)
# print(df.describe())
# 由于CSV文件内的数据是字符串形式先用正则表达式将字符串转化为列表再取区间的均值
#在字符串中找到正则表达式所匹配的所有子串,并返回一个列表
pattern = ‘\d+‘
df[‘工作年限‘] = df[‘工作经验‘].str.findall(pattern)
avg_work_year = []
for i in df[‘工作年限‘]:
# 如果工作经验为‘不限‘或‘应届毕业生‘那么匹配值为空工作年限为0
if len(i) == 0:
avg_work_year.append(0)
# 如果匹配值为一个数值那么返回该数值
elif len(i) == 1:
avg_work_year.append(int(‘‘.join(i)))
# 如果匹配值为一个区间那么取平均值
else:
num_list = [int(j) for j in i]
avg_year = sum(num_list)/2
avg_work_year.append(avg_year)
df[‘经验‘] = avg_work_year
# 将字符串转化为列表再取区间的前25%,比较贴近现实
df[‘salary‘] = df[‘工资‘].str.findall(pattern)
avg_salary = []
for k in df[‘salary‘]:
int_list = [int(n) for n in k]
avg_wage = int_list[0]+(int_list[1]-int_list[0])/4
avg_salary.append(avg_wage)
df[‘月工资‘] = avg_salary
# 将清洗后的数据保存以便检查
df.to_csv(‘D:\python项目\draft.csv‘ index = False)
# 描述统计 对数据分析师工资进行简单的统计,并打印出来
print(‘数据分析师工资描述:\n{}‘.format(df[‘月工资‘].describe()))
# 绘制频率直方图并保存
plt.hist(df[‘月工资‘]bins = 12)
plt.xlabel(‘工资 (千元)‘)
plt.ylabel(‘频数‘)
plt.title(“工资直方图“)
plt.savefig(‘histogram.jpg‘)
plt.show()
# 绘制饼图并保存
#计算区域中地区出现的频数的数组
count = df[‘区域‘].value_counts()
print(count)
#(每一块)的比例,如果sum(x) > 1会使用sum(x)归一化
plt.pie(count labels = count.keys()labeldistance=1.4autopct=‘%2.1f%%‘)
plt.axis(‘equal‘) # 使饼图为正圆形
plt.legend(loc=‘upper left‘ bbox_to_anchor=(-0.1 1))#设置图例的位置
plt.savefig(‘pie_chart.jpg‘)
plt.show()
# 绘制词云将职位福利中的字符串汇总
text = ‘‘
for line in df[‘职位福利‘]:
text += line
# 使用jieba模块将字符串分割为单词列表
cut_text = ‘ ‘.join(jieba.cut(text))
print(cut_text)
color_mask = imread(‘wordcloud.jpg‘) #设置词云背景图
font=r‘C:\Windows\Fonts\simhei.ttf‘
cloud = WordCloud(
font_path = font
background_color = ‘white‘
mask = color_mask
max_words = 1000
max_font_size = 100
)
word_cloud = cloud.generate(cut_text)
# 保存词云图片
word_cloud.to_file(‘word_cloud.jpg‘)
plt.imshow(word_cloud)
plt.axis(‘off‘)
plt.show()
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 455 2018-12-06 20:01 lagou-spider\.idea\lagou-spider.iml
文件 288 2018-12-06 20:00 lagou-spider\.idea\misc.xm
文件 276 2018-12-06 20:00 lagou-spider\.idea\modules.xm
文件 18791 2018-12-26 19:39 lagou-spider\.idea\workspace.xm
文件 96189 2018-12-21 11:01 lagou-spider\11.jpg
文件 10592 2018-12-21 11:14 lagou-spider\22.JPG
文件 24061 2018-12-26 16:36 lagou-spider\histogram.jpg
文件 3284 2018-12-26 16:36 lagou-spider\lagou_ana.py
文件 3207 2018-12-10 18:24 lagou-spider\lagou_spider.py
文件 36106 2018-12-26 16:36 lagou-spider\pie_chart.jpg
文件 63092 2018-12-09 18:23 lagou-spider\wordcloud.jpg
文件 146755 2018-12-26 16:36 lagou-spider\word_cloud.jpg
目录 0 2018-12-06 20:01 lagou-spider\.idea\inspectionProfiles
目录 0 2018-12-26 19:39 lagou-spider\.idea
目录 0 2018-12-26 16:36 lagou-spider
----------- --------- ---------- ----- ----
403096 15
相关资源
- python实现SGBM图像匹配算法
- python实现灰度直方图均衡化
- scrapy_qunar_one
- Python学习全系列教程永久可用
- python简明教程.chm
- 抽奖大转盘python的图形化界面
- 双边滤波器实验报告及代码python
- python +MYSQL+HTML实现21蛋糕网上商城
- Python-直播答题助手自动检测出题搜索
- OpenCV入门教程+OpenCV官方教程中文版
- Python 串口工具源码+.exe文件
- Python开发的全栈股票系统.zip
- Python操作Excel表格并将其中部分数据写
- python书籍 PDF
- 利用python绘制散点图
- python+labview+No1.vi
- 老男孩python项目实战
- python源码制作whl文件.rar
- python3.5可用的scipy
- PYTHON3 经典50案例.pptx
- 计算机科学导论-python.pdf
- python模拟鼠标点击屏幕
- windows鼠标自动点击py脚本
- 鱼c小甲鱼零基础学python全套课后题和
- Python 练习题100道
- Practical Programming 2nd Edition
- wxPython Application Development Cookbook
- python 3.6
- Python 3.5.2 中文文档 互联网唯一CHM版本
- python3.5.2.chm官方文档
评论
共有 条评论