前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >爆肝代码两个月,我发现了北京房价的“小秘密”

爆肝代码两个月,我发现了北京房价的“小秘密”

作者头像
何时夕
发布2022-09-21 15:10:39
5190
发布2022-09-21 15:10:39
举报
文章被收录于专栏:求索之路

前言

互联网时代,如何更好地利用信息是一个非常重要的事情。信息的利用可以拆解为下面这些行为:获取、加工、存储、搜索、使用、泛化。 今天我将从结构化信息的获取、存储、搜索、使用这四个方面来讲一讲,如何通过构建个人结构化数据中心来更好地利用信息。

北京房价的分析在第三章节,对实现方案与架构不兴趣的同学可以直接拉到第三章。

一、概览

图1: 结构化数据中心-概念

先介绍一下个人结构化数据中心的整体概念。如图1:

  • 1.首先互联网中存在着大量的数据,这些数据以网站的形式存在着,我们可以通过浏览网站获取信息,但是这样的行为效率很低。所以我们需要将网站的非结构化数据,转化为结构化数据。此时爬虫作为一个工具能够帮助我们转化数据,这个行为被我们定义为信息的获取
  • 2.获取了大量的结构化数据之后,我们需要有个东西将这些东西存储起来,所以此时需一个数据存储中心来将这些数据持久化,以备后续使用,这个行为被我们定义为信息的存储
  • 3.当本地存储了大量的结构化数据之后,由数据存储中心提供的API服务,我们可以通过数据查询终端来查询某些单个信息,这个行为被我们定义为信息的搜索
  • 4.同时我们也可以在数据分析/可视化平台上,对数据进行分析,得出数据冰山下隐藏的信息,这个行为被我们定义为信息的使用

此时一个对信息进行获取、存储、搜索、使用的系统就诞生了,我称其为个人结构化数据中心

二、架构、部署与使用

1.整体介绍

图2:结构化数据中心-技术

在来看一下系统的整体结构,如图2:

  • 1.爬虫我们使用Pyspider,它能够让我们迅速上手数据爬取。
  • 2.数据中心我们使用ParseServer,在其部署的时候会附带一个MongoDB
  • 3.因为Pyspider和ParseServer缺少定时任务的机制,所以我们引入了N8N,它提供了一个Web网站,让我们能够制作一些定时任务调用一些接口。
  • 4.同时Selenium作为Web自动化工具,能够帮助我们结合N8N进行Web页面的定时操作,解决Pyspider无法精细化调度的问题。
  • 5.MetaBase则是作为数据可视化平台,让我们能够迅速对大量数据进行可视化分析。
  • 6.最后我们可以通过APP/网站/小程序等等终端,调用ParseServer提供的API服务,让更多用户查询到自己需要的数据。

以上使用到的各个系统都是开源,接下来我将一一介绍这些系统的部署,最终构造出一个完整的:个人结构化数据中心

2.部署

部署指导视频

(1).前提
  • 系统中需要安装 Docker 和 Docker-Compose。
  • 以下部署需要在 Linux 或者 Mac 上进行。
(2).部署
  • 首先需要点击这里,将项目 clone 到本地,例如:~/struct-data-center-init
  • 修改文件 ~/struct-data-center-init/ParseServer/docker-compose.yml 文件:
    • 如果是本地部署:那么只需要将里面 192.168.31.134 改成本机ip。
    • 如果是云服务器部署:那么需要将里面 192.168.31.134 和 localhost 都改成本机ip。
  • 可以点击这里,将所有镜像下载到项目目录里(注意别把镜像文件的名字改了),然后执行 sudo sh import.sh 导入镜像。
  • 进入项目,执行 sudo sh run.sh 等待所有容器部署完毕。注意执行这一步的时候禁止翻墙。
(3).配置
  • 通过访问下面的页面,确认各容器部署成功:云服务器需要在防火墙设置里打开端口:5001/5002/5011/5012/5013/5014/5021/5031/5032
  • 在使用前还需要进行两个配置:
    • Pyspider:访问爬虫页面,将三个爬虫代码中的localhost改成你的ip。修改完毕之后,回到主页面把三个任务的 status 改成RUNNING
    • MetaBase:访问数据可视化平台,然后进行下面的操作:
      • 点击:让我们开始吧
      • 首选语言:Chinese
      • 输入:姓名/邮箱/团队名称/密码
      • 添加您的数据:
        • 选择 MongoDB
        • 显示名称:HouseInfo
        • Host:本机ip
        • Database name:dev
        • Port:5013
        • Username/Password 以及后面的都空着,不需要修改
      • 点击完成,进入MetaBase首页

3.使用

  • 访问 Pyspider 页面
    • 我们可以看见内置了三个任务:
      • beike_xinshuju_paqu: 用于初始化爬取贝壳上面的房价数据,每天更新新的房价数据。
      • beike_jiancha_kongshuju: 用于每天检查更新的房价数据是否有问题。
      • beike_chengjiao: 用于每隔一天,检查已有的房产是否下架或者成交。
    • 我们将可以点击 Run 按钮,执行爬虫。爬下来的数据会被存储到 ParseServer 里面。
    • 点击这里,可以了解到 Pyspider 的一些常用知识。
  • 访问 ParseServer-Dashboard 页面,输入帐号密码后
    • 左边有个 HouseInfo 数据表,数据表中已经提前存储了某一天北京的房价数据
    • 爬虫新爬取的数据都会被展示在这里面
  • 访问 MetaBase 页面
    • 主页点开侧边栏,点击浏览数据,可以看见我们房价数据库:HouseInfo
    • 点击我们的数据库,会发现里面有一个名为 HouseInfo 的表,我们将鼠标放在这个表上,表的右边会出现一个闪电的标识。
    • 点击闪电标识,我们就能看见这个表的一些简单的统计数据,例如目前北京有多少房屋在售等等。点击这里,可以了解到 MetaBase 的一些常用知识。
    • 至此我们的结构化数据中心就形成了闭环,我们可以使用 MetaBase 进行房价数据的分析了

三、分析北京房价

过去的两个月,通过每天的定时任务,我积累了北京每个城区/板块/小区/房子天级别的价格数据与各种基础信息,所以我们可以通过MetaBase做一些比较有意思的数据分析。下面我展示一些我定制的看版。

(1).北京房价整体趋势

图3:北京房价整体趋势

通过这张图,我们可以发现,北京这两个月以来挂牌均价在持续上涨,但是总价却比较稳定。这个现象可能可以说明:北京近两个月上架的小户型房子比较多,导致均价在不断上涨。

(2).北京城区价格图

图4:北京城区价格图

这张图中表现的是北京房子的挂牌均价,颜色越深表示价格越高,所以我们可以发现:北京的房价确实遵从越往中心越贵的道理。

(3).北京板块价格

图5:北京板块价格

这张图中表现的是北京均价最高与最低的八大板块,我们可以发现:最贵的板块都集中在东西城,最便宜的板块都集中在房山/密云

(4).北京小区价格

图6:北京小区价格

这张图中表现的是北京均价最高与最低的八大小区,我们可以发现:北京均价最高与均价最低的小区差距非常大,北京竟然也有均价1-2w的房子

(5).回龙观板块均价最高的小区

图7:国风美唐价格

通过数据分析,我找到了回龙观板块均价最高的小区首开国风美唐三期。上图是该小区最近两个月的价格情况,该小区房价在持续上涨,我们可以发现:房市的追涨逻辑还是有道理的。

四、结语

本片文章是《计算脑》系列文章的第四篇,教你如何构建个人结构化数据中心。关注我,让我通过技术带你成为超人

什么是计算脑?

计算脑

计算脑(Computrain)是一个跨平台信息操作系统,通过它,我们可以更好的利用互联网时代的信息。

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2022-08-14,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 前言
  • 北京房价的分析在第三章节,对实现方案与架构不兴趣的同学可以直接拉到第三章。
  • 一、概览
  • 二、架构、部署与使用
    • 1.整体介绍
      • 2.部署
        • (1).前提
        • (2).部署
        • (3).配置
      • 3.使用
      • 三、分析北京房价
        • (1).北京房价整体趋势
          • (2).北京城区价格图
            • (3).北京板块价格
              • (4).北京小区价格
                • (5).回龙观板块均价最高的小区
                • 四、结语
                  • 什么是计算脑?
                  相关产品与服务
                  腾讯云 BI
                  腾讯云 BI(Business Intelligence,BI)提供从数据源接入、数据建模到数据可视化分析全流程的BI能力,帮助经营者快速获取决策数据依据。系统采用敏捷自助式设计,使用者仅需通过简单拖拽即可完成原本复杂的报表开发过程,并支持报表的分享、推送等企业协作场景。
                  领券
                  问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档