2.1 获取公寓房源数据
在20世纪70年代初,如果你想购买股票,就需要聘请经纪人,他们会收取你将近1%的固定佣金。如果你想购买一张机票,你需要联系旅行社代理,他们将赚取大约7%的佣金。如果你想出售一间房子,你会联系一个房地产代理,他们赚取6%的佣金。在2016年,你基本上可以免费地做前两者。而对于最后一项,情况仍然和20世纪70年代的一样,保持不变。
为什么是这种情况?更重要的是,这些与机器学习有什么关系?现实是,这一切都归结于数据,以及谁能够访问它。
你可能想象着通过API或爬取房地产网站,就能够很容易地访问珍贵的地产房源数据。你错了,如果你打算遵守这些网站的条款和条件的话。房地产数据受到房地产经纪人国家协会(NAR)的严格控制,由他们运行多项房源服务(MLS)。这是一种聚合房源数据的服务,只有经纪人和代理商可以使用它,而且还需要花费巨资。所以,可以想象,他们不太希望任何人都能大量地下载这些数据。
这是不幸的,因为开放这些数据无疑会催生许多有价值的消费者应用程序。对于占家庭预算最大比重的购买决策而言,这点看上去尤其重要。
话虽如此,也不是完全没有希望。虽然依据条款所言,直接从MLS提供商获取数据是被禁止的,但是我们可以利用第三方工具来拉取数据。
现在,我们来看一个有用的工具,它可以帮助我们获取所需的数据。
使用import.io抓取房源数据
有许多优秀的、基于Python的库用于抓取网页,包括requests、Beautiful Soup和Scrapy。我们将探讨其中的一些,后面的章节还会讨论更多。为了达到此处的目的,我们将使用免费的替代方案:
Import.io(http://www.import.io)是一个免费的、基于Web的服务,它会自动抓取网页。这是一个很好的选择,让我们可以避免从头开始创建一个网络爬虫。好在,它为房地产的房源数据提供了一个示例API接口,数据来自Zillow.com。
图2-1的图片来自http://www.import.io/examples。在import.io的搜索框中输入Zillow.com,检索Zillow数据的样例。
图2-1
他们所提供的数据是有关旧金山的,不过在我们的例子中将使用纽约。为了更换城市,需要使用我们感兴趣的数据所在的网址,来替换演示所提供的网址。
为了实现这点,我们可以打开一个单独的浏览器选项卡,并导航到Zillow.com。在那里执行一个公寓搜索。让我们将公寓搜索限制在曼哈顿地区,价格在$1500到$3000之间。如图2-2所示。
图2-2
一旦有结果返回,我们需要从浏览器地址栏中复制Zillow.com站点的URL,并将其粘贴到之前选项卡中import.io的提取框中。
复制图2-2中Zillow.com地址栏中的URL。并将其粘贴到import.io的提取框中,如图2-3所示。
图2-3
单击左上角的提取数据(Extract Data)按钮,你将看到一个结果表,只显示你想要的数据。
现在,我们可以通过单击“下载CSV”(Download CSV)按钮,轻松地下载这些数据。弹出的对话框会问我们需要下载多少页,从结果页可以看出在Zillow的搜索返回了2640条结果,我们需要下载106页来获得整个数据集。而Import.io仅仅允许我们下载20页,现在也只能如此了。
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论