爬了点二手房数据存储在了本地csv里,爬虫部分没什么难度,这次做一个简单的数据整理和利用matplotlib展示的案例。
使用Python版本为3.7,matplotlib版本为3.2.1
首先这是我们爬取到的数据:
里面分别为楼盘名称、经纬度(这个是通过百度地图地理编码转的)、几室几厅、面积、总价格以及在二手房网站的关注度。
我们用这个数据主要用来做两个事,分别是获取关注度TOP5的房产资源以及TOP5的小区名称。
首先我们来分析下获取关注度TOP5的房产资源。在这里我们先对房产资源进行一个拼接,包括小区名称+几室几厅+面积,之后我们再按照关注度进行一个从大到小的逆排序,最后取出前五个数据,这样我们需要绘制第一张图的原始数据就出来了
接下来我们来分析关注度TOP5的小区名称。这个我们直接取小区名称以及关注度再按照从大到小逆排序,最后取出前五个数据就可以了。
为了方便获取数据,从csv读取出来的数据需要整理成如下格式:
[{‘name’: ‘世茂新五里河4室2厅159.58平’, ‘count’: 106, ‘community’: ‘世茂新五里河’},
{‘name’: ‘世茂新五里河3室2厅120.32平’, ‘count’: 103, ‘community’: ‘世茂新五里河’}]
name是房产资源名称,count是关注度,community是小区名称
数据整理部分代码如下:
def get_all():
countList = []#本地取出来的所有数据,按照[{'name': 'value', 'count': value, 'community': 'value'}]整理
with open('sy_lianjia.csv','r') as reader:
try:
#去掉头部标题
next(reader)
#获取数据
for row in reader:
list = row.split(",")
name = list[0].strip()+list[3].strip()+list[4].strip()+"平"
count = int(list[len(list)-1].strip())
community = list[0].strip()
tempDic = {
'name':name,'count':count,'community':community}
countList.append(tempDic)
except Exception as e:
print(e)
countList.sort(key=lambda list:list['count']