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

工具和技术: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 acr122 读取数据_使用ACR122U 从NTAG203Chip 读取数据
  2. Python3猜数字小游戏
  3. 通过History Trends Unlimited通过统计笔记本Edge浏览器Top10网页历史访问量(截止至2021.11.23)
  4. iOS开发(1)写在前面的话
  5. 关于错误 1 error C4996: 'getch': The POSIX name for this item is deprecated.问题解决方式
  6. 如何把自己github博客配置到一个腾讯云购买的自定义域名上
  7. 佛祖保佑,永无BUG
  8. (转)Spring整合Jpa
  9. linux虚拟机ping通主机
  10. java泛型:T与?的使用及区别
  11. 双稳态电路的两个稳定状态是什么_一文为你详解继电器的工作原理及电路
  12. 面试官:你能说一下 什么是熔断?什么是服务降级吗?
  13. 《炬丰科技-半导体工艺》薄晶圆处理挑战和新兴解决方案
  14. f15_Trading Strategies2_sma_AAPL_Log return_EUR_OLS regress_df highlight_Lagrang_GaussianNB_DNNClass
  15. mongoDb内嵌文档的数据查询
  16. sd卡格式化后还能恢复吗?恢复小技巧分享!
  17. python 生成随机邮箱
  18. 安卓小程序——聊天室(一)
  19. 8.python-装饰器
  20. 从ffmpeg中抓取mv/mb_type/dct_coeff/qp和MBSize等数据(H.264)

热门文章

  1. Harbor2.2.1配置(trivy扫描器、镜像签名)
  2. 【Pygame小游戏】《坦克大战》,那些童年的游戏你还记得几个呢?
  3. [mmu/cache]-ARM MMU的学习笔记-一篇就够了
  4. ElementUI 添加修改提示成功后 如何刷新表格数据展示
  5. android classloader异常,Android中ClassLoader类加载机制
  6. 使用 pg_dump 迁移 postgresql
  7. 2020-12-2(详细解释neg指令 以及SCAS ,STOS的运用)
  8. 一次SSH爆破攻击haiduc工具的应急响应
  9. 60%的安卓APP存在漏洞,平均每个有39个漏洞
  10. C++多线程实现电子词典