本篇文章通过对安居客官网天津市租房信息的进行抓取,然后对房价信息进行了简单的描述性统计分析。

工具和技术:VBA知识、Power Bi

一、采集数据过程抓取思路:

安居客租房信息网址为简单的静态网页,天津市河北区租房信息第二页的网页地址:

https://tj.zu.anjuke.com/fangyuan/hebei/p2/

不同区只需要修改拼音参数即可,翻页效果通过修改p后面的数字来达到。由于该网址的信息页出来的数字全部被加密,所以单独打开每个房源的详情页,来获取每个房源的具体信息。

具体代码:

Sub 安居客租房数据升级版()On Error Resume NextDim arr(), drr()brr = Array("hebei")'这里仅仅获取河北区的租房信息,也可扩展填入其他区的拼音。Range("a1").Resize(1, 14) = Array("Community_name", "Price", "Layout", "area", "Direction", "Floor", " decoration ", "house_type", "House_code", "release_time", "rent_type", "rent_type2", "url", "district")Set XML = CreateObject("msxml2.xmlhttp")ActiveSheet.Range("a2:z10000").ClearFor m = 0 To UBound(brr)For Page = 1 To 1XML.Open "get", "https://tj.zu.anjuke.com/fangyuan/" & brr(m) & "/p" & Page & "/", False '打开网页XML.send    '发送请求Do While XML.ReadyState <> 4 '等待请求DoEventsLoopstrText = XML.responseText '获取返回数据Set reg = CreateObject("vbscript.regexp")reg.Global = Truereg.IgnoreCase = Truereg.MultiLine = Truereg.Pattern = " href=""(https://tj.zu.anjuke.com/fangyuan/d{10}?isauction=2&shangquan_id=d+)" '单个房源地址For Each mat In reg.Execute(strText)k = k + 1ReDim Preserve arr(1 To k)arr(k) = mat.SubMatches(0)ReDim Preserve drr(1 To k)drr(k) = brr(m)NextNextNextReDim crr(1 To UBound(arr), 1 To 12) '定义存储租房具体信息的数组For num = 1 To UBound(arr)XML.Open "get", arr(num), False '打开网页XML.send    '发送请求Do While XML.ReadyState <> 4 '等待请求DoEventsLoopreg.Pattern = "s+"result = reg.Replace(XML.responseText, "")crr(num, 1) = Split(Split(result, """propview"">")(1), "<")(0)crr(num, 2) = Split(Split(result, "price""><em>")(1), "<")(0)crr(num, 3) = Split(Split(result, "户型:</span><spanclass=""info"">")(1), "<")(0)crr(num, 4) = Split(Split(result, "面积:</span><spanclass=""info"">")(1), "<")(0)crr(num, 5) = Split(Split(result, "朝向:</span><spanclass=""info"">")(1), "<")(0)crr(num, 6) = Split(Split(result, "楼层:</span><spanclass=""info"">")(1), "<")(0)crr(num, 7) = Split(Split(result, "装修:</span><spanclass=""info"">")(1), "<")(0)crr(num, 8) = Split(Split(result, "类型:</span><spanclass=""info"">")(1), "<")(0)crr(num, 9) = "'" & Split(Split(result, "房屋编码:")(1), ",")(0)crr(num, 10) = Split(Split(result, "发布时间:")(1), "<")(0)crr(num, 11) = Split(Split(result, "元/月</span><spanclass=""type"">")(1), "<")(0)crr(num, 12) = Split(Split(result, "<liclass=""title-label-itemrent"">")(1), "<")(0)NextActiveSheet.Range("a2").Resize(UBound(crr), 12) = crrActiveSheet.Range("m2").Resize(UBound(arr), 1) = Application.Transpose(arr)ActiveSheet.Range("n2").Resize(UBound(arr), 1) = Application.Transpose(drr)Columns.AutoFit
End Sub

市内六区+环城四区范围内(不涉及原远郊及滨海新区),总共抓取了约6000条数据(由于IP限制,每个区抓取的房源数量不是完全相等)

双击图片可查看

二、清洗数据过程处理不规则数据(异常值):

①包括租房总价价格大于10000或者小于500的、租房平米数大于300的。

②删除自我矛盾的不现实数据,比如:仅一室的合租房源。

③删除三室一厅整租小于50平米的、一室一厅大于100平米的数据。

三、对数据进行描述性分析

利用Excel和Power BI可视化工具对租房数据进行简单的可视化。

整体租房价格区间分布
整体出租户型比例
合租整租比例及整租户型比例
一室整租价格分布
两室整租价格分布
三室整租价格分布

从上面可以清晰看到:

①位于天津市市中心也是区域面积最小的和平区租房均价远远高于其他区。

②环城四区中西青区的租房均价最高,津南区紧随其后,西青区有大学城,海泰高新区白领学生较多,租房价格比较高。津南区由于海河教育园区还有一号线等因素,租房均价也比较高。

安居客检测到网页抓取_安居客天津租房情况分析相关推荐

  1. 安居客检测到网页抓取_原创内容不收录 解决网站抓取异常的有效分析方法

    有的网站明明内容优质原创,用户可以正常访问,但偏偏网络蜘蛛无法正常访问抓取导致无法被收录,搜索结果覆盖率偏低,对搜索引擎和网站都是一种损失,这种情况就是抓取异常.对于大量内容无法正常抓取的网站,搜索引 ...

  2. 安居客检测到网页抓取_python3爬虫实战-安居客写字楼信息,学会月入上万理所当然...

    说起python爬虫,相信大家都觉得很神奇,为什么python爬虫叫做网络蜘蛛,对于这一点,相信大家一定觉得高大神奇,其实爬虫技术这个过程很无聊,但是获取到想要的结果的时候就很开心,那么今天大家就跟随 ...

  3. 静态网页抓取_学习笔记

    目录 1 获取响应内容 2 定制Requests 2.1 传递URL参数 2.2 定制请求头 2.3 发送POST请求 2.4 超时 3 Requests爬虫实践:TOP250电影数据 3.1 网站分 ...

  4. 您遇到过网页抓取时被封IP的情况吗?

    ​网站如何检测网络爬虫? 网络爬取和网络抓取相辅相成,对于公共数据收集来说至关重要.电子商务企业会使用网络抓取工具从各个网站收集新数据.然后,将抓取到的信息用于改进业务和营销策略. 对于那些不知道如何 ...

  5. 系统检测到您正在使用网页抓取工具访问_造成Baiduspider(百度蜘蛛)抓取网站异常的原因有哪些...

    造成Baiduspider(百度蜘蛛)抓取网站异常的原因有哪些 有一些网页,内容优质,用户也可以正常访问,但是Baiduspider却无法正常访问并抓取,造成搜索结果覆盖率缺失,对百度搜索引擎对站点都 ...

  6. Python开发爬虫之动态网页抓取篇:爬取博客评论数据——通过浏览器审查元素解析真实网页地址...

    由于主流网站都使用JavaScript展示网页内容,和前面简单抓取静态网页不同的是,在使用JavaScript时,很多内容并不会出现在HTML源代码中,而是在HTML源码位置放上一段JavaScrip ...

  7. python网络爬虫从入门到实践(第2版)_带你读《Python网络爬虫从入门到实践(第2版)》之三:静态网页抓取-阿里云开发者社区...

    第3章 静态网页抓取 在网站设计中,纯粹HTML格式的网页通常被称为静态网页,早期的网站一般都是由静态网页制作的.在网络爬虫中,静态网页的数据比较容易获取,因为所有数据都呈现在网页的 HTML代码中. ...

  8. 有关网页抓取问题的一些经验总结 - passover【毕成功的博客】 - 51CTO技术博客

    有关网页抓取问题的一些经验总结 - passover[毕成功的博客] - 51CTO技术博客 有关网页抓取问题的一些经验总结 2011-05-05 18:07:38 标签:爬虫 网页抓取 在写爬虫的时 ...

  9. asp.net 获取全部在线用户_提取在线数据的9个最佳网页抓取工具

    Web Scraping工具专门用于从网站中提取信息.它们也被称为网络收集工具或Web数据提取工具. Web Scraping工具可以在各种场景中用于无限目的. 比如: 1.收集市场研究数据 网络抓取 ...

最新文章

  1. Java学习总结:42(字节流和字符流)
  2. C语言第一次博客作业
  3. 5训练需要更改参数吗_这就是需要的瘦肚子训练,5个杠铃片腹肌训练动作暴汗燃脂瘦腰腹...
  4. android之View坐标系(view获取自身坐标的方法和点击事件中坐标的获取)
  5. mysql 创建分区表_Mysql分区表及自动创建分区Partition
  6. 程序员述职报告范文_物流人员述职报告范文(通用5篇)
  7. 实用juniper SRX NAT小技巧。
  8. 论文笔记--知识表示学习研究进展-2016
  9. mysql tar.gz_记centos 安装 mysql5.7.23.tar.gz教程
  10. oracle错误代码及解决办法整合
  11. ARP防火墙 (防如网络执法官、网络剪刀手、局域网终结者限制本机网速)
  12. 定编定岗定员方案_定岗、定编、定员实施方案  (讨论稿)
  13. Chrome浏览器安装Axure插件
  14. html原生的日期选择器,原生JS实现日期选择
  15. 第一个web项目-微信小程序后端开发
  16. 小颗粒积木步骤图纸_loz小颗粒钻石积木拼图图纸谁有
  17. 软件项目管理之历时估算(工程评估评审技术【Program Evaluation And Review Technique,PERT】)
  18. 阿里云服务器发送邮箱失败问题
  19. replaceAll()如何同时替换多个不同的字符串(或多个符号)
  20. 利用计算机软件温度补偿,一种计算机硬件设备专用温度补偿系统的制作方法

热门文章

  1. Blockchain-Based Flexible Double-Chain Architecture and Performance Optimization for Better Sustaina
  2. 多重签名(Multisig)
  3. 跨链Cosmos(11) 消息结构
  4. 基于区块链的健康链系统设计与实现(2)区块链平台Web服务器
  5. mk_trustonic.mk编译脚本
  6. OTA整包的制作流程(未完)
  7. [crypto]-52-python3中rsa(签名验签加密解密)aes(ecb cbc ctr)hmac的使用,以及unittest测试用
  8. 2020-11-23(Windows系统的dll注入 )
  9. Python的一些技巧
  10. ASP.NET运行环境配置