首页 > 其他分享 >爬取兰州市房价,看到结果让我很舒适!

爬取兰州市房价,看到结果让我很舒适!

时间:2023-01-09 15:01:49浏览次数:46  
标签:df 兰州市 爬取 房价 舒适 import 数据 opts

爬取兰州市房价,看到结果让我很舒适!_数据分析

《兰州市落实强省会战略进一步优化营运环境若干措施》于2022年4月1日会议通过,兰州印发1号通知进一步放宽购房政策,包括降低个人购买住房门槛、减轻个人住房消费负担、加大住房公积金支持等政策。

本文基于此借助Python工具爬取甘肃省和兰州市的房价数据,根据爬取的数据做分析,以及可视化,分析目前本地的房价水平,对于数据分析的结果可以作为下一步购房的参考标准。

示例工具:anconda3.7本文讲解内容:房价数据可视化分析
适用范围:pandas数据爬取、pyecharts可视化

爬取兰州市房价,看到结果让我很舒适!_数据_02

甘肃省房价分析

首先获取甘肃省的房价数据,打开汇聚数据网站,网址链接如下,该网站包含详细的甘肃省各城市的房价数据。

​https://fangjia.gotohui.com/fjdata-30​

爬取兰州市房价,看到结果让我很舒适!_html_03

使用read_html函数将网页数据爬取下来,编码方式设置为'utf-8',header=0将第一行作为列索引,由于read_html解析出来的数据是列表形式,[0]用于切片第一部分数据。

import pandas as pd
df = pd.read_html("https://fangjia.gotohui.com/fjdata-30", encoding='utf-8',header=0)[0]
df['城市']=df['城市']+"市"
df

爬取兰州市房价,看到结果让我很舒适!_数据分析_04

爬取下来的数据如上所示,一共爬取14行6列数据。

df.shape

(14, 6)

导入Geo库做一个热力图,代码较简单,导入城市和房价数据即可,注意我们从网页爬取下来的数据城市名称是不带"市"的,但是使用pyecharts做热力图需要加"市",手动添加df['城市']+"市"。

#热力图
from pyecharts import options as opts
from pyecharts.charts import Geo
from pyecharts.globals import ChartType


gansu_city=df['城市'].tolist()
values=df['二手房(元/㎡)'].tolist()


c = (
Geo()
.add_schema(maptype="甘肃")
.add("二手房价格",
[list(z) for z in zip(gansu_city, values)],
type_=ChartType.HEATMAP)
.set_series_opts(label_opts=opts.LabelOpts(is_show=True))
.set_global_opts(visualmap_opts=opts.VisualMapOpts(is_show=True,type_="color",min_=0,max_=13000),
title_opts=opts.TitleOpts(title="甘肃省各市二手房数据热力图",subtitle='单位:二手房(元/㎡)'))
)
c.render_notebook()

由热力图可以看出甘肃省的二手房价格偏高主要集中在兰州市周围,从整体分布来看呈东南方的房价数据高于西北方,也很好理解,西北方地广人稀,市场需求不大。

爬取兰州市房价,看到结果让我很舒适!_html_05

同样的导入城市和房价数据,使用Map做填充地图,同样在做填充地图时注意城市名称需要带"市"。

#填充地图
from pyecharts import options as opts
from pyecharts.charts import Map


gansu_city=df['城市'].tolist()
values=df['二手房(元/㎡)'].tolist()


c = (
Map()
.add("二手房价格", [list(z) for z in zip(gansu_city, values)], "甘肃")
.set_global_opts(title_opts=opts.TitleOpts(title="甘肃省各市二手房数据填充地图",subtitle='单位:二手房(元/㎡)'),
visualmap_opts=opts.VisualMapOpts(is_show=True,type_="color",min_=0,max_=13000))
)
c.render_notebook()

爬取兰州市房价,看到结果让我很舒适!_数据_06

由填充地图可以看出兰州市的房价最高,这也很好理解,兰州作为省会城市房价是最高的,其次也带动周边城市的房价水平,具体的兰州市内的房价水平是怎样的?我们继续分析。

兰州市房价分析

同理还是在聚汇数据这个网站,找到兰州市各区的房价数据。

​https://fangjia.gotohui.com/fjdata-321​

爬取兰州市房价,看到结果让我很舒适!_数据分析_07

使用read_html函数爬取网页数据,发现返回的是一个列表数据。

import pandas as pd
df = pd.read_html("https://fangjia.gotohui.com/fjdata-321", encoding='utf-8')
df

爬取兰州市房价,看到结果让我很舒适!_html_08

我们从返回的列表数据中切片,[2]表示切出第三部分数据,同时header=0将第一行数据作为列索引。

import pandas as pd
df = pd.read_html("https://fangjia.gotohui.com/fjdata-321", encoding='utf-8',header=0)[2]
df

爬取兰州市房价,看到结果让我很舒适!_数据_09

使用pyecharts库导入Bar包做一个条形图,同时设置markline_opts参数,做一个房价的平均值辅助线。

from pyecharts import options as opts
from pyecharts.charts import Bar


df.sort_values(by=['单价(元/㎡)'], ascending=True,inplace=True)


c = (
Bar()
.add_xaxis(df['区域'].tolist())
.add_yaxis("房价", df['单价(元/㎡)'].tolist())
.reversal_axis()
.set_series_opts(label_opts=opts.LabelOpts(position="right"))
.set_global_opts(title_opts=opts.TitleOpts(title="兰州市各区房价数据情况"))

# 设置系列配置
.set_series_opts(
markline_opts=opts.MarkLineOpts(data=[opts.MarkLineItem(type_="average", name="平均值")]),)
)
c.render_notebook()


爬取兰州市房价,看到结果让我很舒适!_数据分析_10

由图像可以看出,兰州市内城关区的房价数据最高13644元/平米,而红古区的房价最低5364元/平米,均价在9670.33元/平米,不同地段的房价数据差异较大,价格以市中心地段较高,郊区较低。

PS:以上房价数据均采集于聚汇数据,这里仅根据现有数据进行分析,不同房产数据可能有些许不同,这里仅作为本文分析论点,综合兰州市1号通知放宽购房政策,可以看出兰州市也在积极地促进市场发展,降低购房的启动资金,势必恢复居民购买需求。

三年互联网数据分析经验,擅长Excel、SQL、Python、PowerBI数据处理工具,数据可视化、商业数据分析技能,统计学、机器学习知识,持续创作数据分析内容,点赞关注,不迷路。


标签:df,兰州市,爬取,房价,舒适,import,数据,opts
From: https://blog.51cto.com/u_15828536/5997208

相关文章

  • python爬虫如何爬取招聘数据
    互联互通的时代,几乎任何行业有关的数据都可以在网络上查到,那么作为大数据公司,如何借用爬虫实现公开数据抓取数据就显得尤为重要,下面就是有关招聘信息等数据的抓取代码案例可......
  • 利用BeautifulSoup爬取三国演义
     1importrequests2frombs4importBeautifulSoup3headers={'user-agent':'Mozilla/5.0(WindowsNT10.0;Win64;x64)AppleWebKit/537.36(KHTML,likeGe......
  • 爬取百度图片
    fromfake_useragentimportUserAgentimportrequestsimportreimportuuidheaders={"User-agent":UserAgent().random,#随机生成一个代理请求"A......
  • Python爬取往期股票数据,分析中奖规律!
    快过年了,手头有点紧,但是作为一个男人,身上怎么能够没有大把钞票呢?于是我决定用Python来分析一波股票,赢了会所嫩*,输了下海干活!好了,上面是我吹牛逼的,不过确实有小伙......
  • 爬取百度翻译
    #破解百度翻译#阿贾克斯请求,局部刷新,对应fetch/XHR,最后的sug#学会查看请求,选择函数importosimportrequestsimportjsonpost_url='https://fanyi.baidu.com/sug'#......
  • python爬取电影
    我们现在很多视频网站的电影都是由很多ts文件片段组成的,要想下载电影,就需要把这些ts文件片段全部下载下来,然后合成一部完整的电影这个程序配置好以下三个地方就可以下......
  • python爬取银行存款利率数据
    三年疫情让各行各业的经济都下滑了很多,手里有钱的人都会很谨慎地进行一些投资项目。2023新年来临,银行存款利率也出现一波调整,近期多家中小银行对定期存款挂牌利率进行下调。......
  • Yyield && scrapy案例:当当网爬取数据 &&开启多管道下载
    yield   开启多管道在setting.py中新开一个管道,pipelines下写详细,注意url地址。 当当网爬取案例importscrapyfromscrapy_dangdang_095.itemsimportScr......
  • 爬虫笔记【1】如何爬取无HTTPS证书的网站?
      在爬虫过程中遇到很多网页都多多少少会存在证书过期的情况,那么证书过期后,该网站会被认定为不安全网站,那么怎么进行正常的数据爬取呢?  主要从爬虫过程中常遇到的三个......
  • Java爬取中国天气网实况天气数据
    因实验室需求,需要找一个实况天气API。百度云、阿里云、腾讯云上边我都去找了,很多平台要么没有,要么要收费(免费的可调用次数太少了)。而我在高德开放平台上找到了一个,但是不......