码迷,mamicode.com
首页 > 移动开发 > 详细

爬虫再探实战(五)———爬取APP数据——超级课程表【三】——日期时间分析

时间:2016-07-28 15:22:14      阅读:364      评论:0      收藏:0      [点我收藏+]

标签:

    接着整理一下时间和日期与发帖量的关系。

    PROJECT2:日期(选取2015整年)

    代码如下:(这里的 kebiao_all.xlsx 是之前抓到的全部的数据)

import xlrd
import xlsxwriter


# 获取数据的时间列表----->dates_list
fname = ‘kebiao_all.xlsx‘
bk = xlrd.open_workbook(fname)
#shxrange = range(bk.nsheets)
sh = bk.sheet_by_name(‘Sheet1‘)
nrows = sh.nrows
ncols = sh.ncols

# 获取2015年全年的数据
# 其实这里 date_16_l 用不到的,写上是为了逻辑清晰些
date_15_l = []
date_16_l = []
for i in range(1, nrows):
	row_data_date = sh.row_values(i)[3]
	#print(row_data_date)
	y_a_m = row_data_date.split(‘/‘)
	if y_a_m[0] == ‘2015‘:
		date_15_l.append(y_a_m)
	else:
		date_16_l.append(y_a_m)

# 创建电子表格
workbook = xlsxwriter.Workbook(‘statistic_date.xlsx‘)
worksheet = workbook.add_worksheet()
worksheet.set_column(‘A:A‘, 10)
worksheet.set_column(‘B:B‘, 5)

# 取出日期并对其分组,之后写入
def every_m(m):
	dt_15_ml = []
	for dt_15 in date_15_l:
		if dt_15[1] == str(m):
			dt_15_ml.append(dt_15)
			worksheet.write(m,0,dt_15[1]+‘月‘)
			worksheet.write(m,1,len(dt_15_ml))

for m in range(1,13):
	every_m(m)

workbook.close()

    在得到的EXCEL简单作图,输出如下:

技术分享

    PROJECT3:时间

import xlrd
import xlsxwriter

#获取24个时间段----->time_list
time_list = []
for i in range(0,24):
	if i < 10:
		i = ‘0‘+str(i)
	else:
		i = str(i)
	time_list.append(i)
#print(time_list)

#获取数据的时间列表----->times_list
fname = ‘kebiao_all.xlsx‘
bk = xlrd.open_workbook(fname)
#shxrange = range(bk.nsheets)
sh = bk.sheet_by_name(‘Sheet1‘)
nrows = sh.nrows
ncols = sh.ncols

times_list = []
for i in range(1, nrows):
	row_data_time = sh.row_values(i)[4]
	#print(row_data_time)
	times_list.append(row_data_time)
#print(len(times_list))

workbook = xlsxwriter.Workbook(‘statistic_time.xlsx‘)
worksheet = workbook.add_worksheet()
worksheet.set_column(‘A:A‘, 10)
worksheet.set_column(‘B:B‘, 5)

def every_time(i):
	num = 0
	for times in times_list:
		if str(times)[0]+str(times)[1] == i:
			num += 1
	
	worksheet.write(int(i),0,str(i)+‘点‘ )
	worksheet.write(int(i),1,num)
	print(i+‘---->‘+str(num))
for i in time_list:
	every_time(i)
workbook.close()

    仔细看就能发现,这个和前面的QQ聊天数据分析是很相似的。

    输出如下:

技术分享

    至此,经过简单的数据处理和分析,已经能做简单的可视化了,这些图仔细联想一下,还是挺有趣的。

爬虫再探实战(五)———爬取APP数据——超级课程表【三】——日期时间分析

标签:

原文地址:http://www.cnblogs.com/buzhizhitong/p/5714845.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!