网络搜索房地产数据完全指南
罗伯特-芒恰努(Robert Munceanu),2021 年 7 月 14 日

房地产市场在不断扩大,房地产经纪人和企业也在努力寻找新的解决方案,以确定未来的发展方向。虽然总体而言,房地产不会在一夜之间发生翻天覆地的变化,但它受到太多因素的影响,一个人甚至一个组织都无法掌握。
那么,房价是会上涨还是会下跌呢?哪些社区需求量大?有哪些房产只需要改造一下就能升值?这些只是房地产经纪人经常问自己的几个问题。
要回答这些问题,我们需要大量的研究数据进行比较,而手动收集如此大量的信息无异于痴人说梦。这时,网络搜索就派上用场了,它能以最快的速度收集和构建数据:

我们现在都知道,网络搜刮是数据提取的强大工具!因此,如果你想进一步了解为什么有人想从互联网上抓取房地产数据以及如何正确地进行抓取,让我们一起继续我们的旅程。我们为您准备了 DIY 解决方案和 WebScrapingAPI 的分步指南。
为什么要搜索房地产数据
通过网络搜索,可以确保提取的房地产信息准确、可信,并且是最新的。这样,人们就可以预测房地产市场是否会很快暴涨,或者了解自己的房产将在哪个价格区间竞争。
对于企业来说,网络数据是非常宝贵的,因为它可以帮助企业做出更好的决策、更好的定价和更大的利润空间。然而,问题在于每一点信息都需要尽可能新鲜,因此网络刮擦就成了显而易见的解决方案。
最常提取的房地产数据类型如下:
- 物业类型
- 销售价格
- 地点
- 尺寸
- 便利设施
- 月租金
- 停车位
- 物业代理
上述信息可以决定一家房地产中介公司的成败。它在沟通、策略和效率方面都有很大的不同,但最大的优势在于经纪人如何更好地了解他们的房产和市场。之后,就是找到合适的客户了。
让我们来看看能说明网络搜索价值的几种情况:
房地产机构
- 决策:承担风险是工作的一部分,但这并不意味着你必须盲目行事。在买卖之前进行研究是工作的必修课,更多的信息意味着更好的交易。
- 预测市场:了解何时买卖房产才能获得最佳和最有利的结果,这一点至关重要。有些类型的房产大受欢迎,而有些则黯然失色。 有些地区蓬勃发展,有些地区却停滞不前。了解转角处的情况是企业长盛不衰的关键。
普通民众
网络搜索并不完全是为了帮助企业。事实上,它之所以如此流行,部分原因在于它对于个人来说是多么容易使用。当然,你需要一些计算机科学知识,但有很多教程可以提供帮助。这就是其中之一!
- 买卖:在买卖之前,您需要准确推断房产的价值。如果您把儿时的房子卖掉,一周后却在房地产网站上看到它的价格翻了一番,那就太可惜了,不是吗?
- 投资:如果您喜欢投资房产,无论是以较低的价格买入,然后卖出获利,还是仅仅出租房产,都强烈建议您了解自己的收支平衡速度和预期收益。
好了,用例就讲到这里。让我们来看一些代码!
首先,假设我们正在纽约市寻找新房。我们想买一套至少有两间卧室的房子,当然还要有一间浴室。因此,我们将从Realtor 上开始搜索,从中提取数据并进行比较,以找到最合适的交易。
从网页中提取内容的方法有很多种。本文将介绍两种方法:一种是我们从头开始创建网络刮刀,另一种是我们使用已有的工具。
首先,让我们尝试自己动手。一旦我们使用了专业的网络搜刮工具,这些代码就会被证明是有用的。
构建网络搜索器提取房地产数据
我选择用 Python 编写,是因为它在网络刮擦中非常流行。 我们有一个用 Python 提取网络数据的通用教程,你应该去看看!
检查网站代码
我们需要提取的数据可以在上述网页的嵌套标签中找到。在我们开始刮擦之前,我们需要找到它。为此,只需右键单击元素并选择 "检查 "即可。

此时会弹出一个 "浏览器检查框 "窗口,如下图所示:

在这个窗口中,我们将导航查找标签和类,在这些标签和类下可以找到我们的基本数据。一开始可能会有点吓人,但随着经验的积累会越来越容易!
查找要提取的数据
We can see that everything we need to extract is within the <li> tag with the class ‘component_property-card’. If we go even deeper in the tag, we observe that the data referring to the number of beds and bathrooms are under the attribute ‘data-label’ with the values ‘pc-meta-beds’ and ‘pc-beta-baths’, respectively. Knowing this, we can proceed with writing our code!
准备工作空间
如前所述,我们将使用 Python 作为编程语言,因此需要下载并安装它。
您可以使用任何您觉得合适的集成开发环境,但我推荐使用PyCharm。
创建新项目后,使用这些库可让您的工作更轻松:
- Selenium用于网络测试和自动化浏览器活动。
- BeautifulSoup:用于解析 HTML 和 XML 文档。
- 熊猫用于数据处理。提取的数据将以结构化格式存储。
在项目中安装它们非常简单。只需在项目终端使用以下命令行:python -m pip install selenium beautifulsoup4 pandas
编写代码
让我们先导入之前安装的库:
from selenium import webdriver
from bs4 import BeautifulSoup
import pandas as pd
要从网站上提取数据,我们必须通过配置 Webdriver 使其使用 Chrome 浏览器来加载数据。为此,我们只需指定chromedriver所在的路径。不要忘记在最后添加可执行文件的名称,而不仅仅是其位置!
driver = webdriver.Chrome('your/path/here/chromedriver')
除了床位和卫生间的数量,我们还可以了解地址、价格以及房产的面积。我们掌握的信息越多,就越容易确定新家的位置。
声明变量并设置要搜索网站的 URL。
价格 = []
床位 = []
浴室 = []
尺寸 = []
地址 = []
driver.get('https://www.realtor.com/realestateandhomes-search/New-York_NY')
我们需要从网站中提取数据,如前所述,这些数据位于嵌套标签中。找到具有前面提到的属性的标签,并将数据存储到上面声明的变量中。请记住,我们只想保存至少有两张床和一间浴室的房产!
content = driver.page_source
soup = BeautifulSoup(content, features='html.parser')
for element in soup.findAll('li', attrs={'class': 'component_property-card'}):
price = element.find('span', attrs={'data-label': 'pc-price'})
bed = element.find('li', attrs={'data-label': 'pc-meta-beds'})
bath = element.find('li', attrs={'data-label': 'pc-meta-baths'})
size = element.find('li', attrs={'data-label': 'pc-meta-sqft'})
address = element.find('div', attrs={'data-label': 'pc-address'})
if bed and bath:
nr_beds = bed.find('span', attrs={'data-label': 'meta-value'})
nr_baths = bath.find('span', attrs={'data-label': 'meta-value'})
if nr_beds and float(nr_beds.text) >= 2 and nr_baths and float(nr_baths.text) >= 1:
beds.append(nr_beds.text)
baths.append(nr_baths.text)
if price and price.text:
prices.append(price.text)
else:
prices.append('No display data')
if size and size.text:
sizes.append(size.text)
else:
sizes.append('No display data')
if address and address.text:
addresses.append(address.text)
else:
addresses.append('No display data')
太好了!我们已经掌握了所有需要的信息,但该把它们存储在哪里呢?这时,pandas 库就派上用场了,它可以帮助我们将数据结构化成一个 csv 文件,供我们将来使用。
df = pd.DataFrame({'Address': addresses, 'Price': prices, 'Beds': beds, 'Baths': baths, 'Sizes': sizes})
df.to_csv('listings.csv', index=False, encoding='utf-8')
如果我们运行代码,就会创建一个名为 "listings.csv"的文件,其中就有我们宝贵的数据!
我们做到了我们创建了自己的网络搜刮工具!现在,让我们直接进入正题,看看我们需要遵循哪些步骤,修改哪些代码行才能使用搜索工具。
使用网络搜索 API
在这种情况下,我们当然要使用WebScrapingAPI。
创建免费的 WebScrapingAPI 账户
要使用 WebScrapingAPI,您需要创建一个账户。别担心,前 5000 次 API 调用是免费的,而且您不需要共享任何个人数据,如信用卡信息。成功创建账户并验证电子邮件后,我们就可以进入下一步了。
API 密钥

要使用 WebScrapingAPI,您需要通过私人 API 密钥进行身份验证,您可以在账户仪表板上找到该密钥。请注意,不要与任何人共享此密钥,如果怀疑密钥已被泄露,可随时按下 "重置 API 密钥 "按钮重置密钥。
修改代码
完美!现在您有了 API 密钥,让我们进行必要的更改。
我们将不再使用 Webdriver。取而代之的是,"请求 "库将向 WebScrapingAPI 发送请求,并获取网站的 HTML 代码作为响应。
import requests
from bs4 import BeautifulSoup
import pandas as pd
接下来,我们必须为请求准备几个参数:我们希望提取数据的网站(房地产经纪人)的 URL 和我们的 API 密钥。
url = "https://api.webscrapingapi.com/v1"
params = {
"api_key": "XXXXXXX",
"url": "https://www.realtor.com/realestateandhomes-search/New-York_NY"
}
response = requests.request("GET", url, params=params)
不要忘记更改 beautifulsoup 正在解析的内容。我们将使用从 API 收到的响应,而不是 chromedriver 的源代码。
content = response.text
从现在起,您可以使用与上一方案相同的代码。数据仍将存储在名为 "listings.csv"的 CVS 文件中。
全部完成!
就这样,你就可以运行代码了。WebScrapingAPI 将完成这项工作,您将获得必要的数据,找到理想的住所。但你可能会问自己"使用 WebScrapingAPI 和我们自己创建的 scraper 有什么区别?请允许我解释一下。
DIY 与预制
使用 WebScrapingAPI 的最大优势之一是其代理服务器。该服务拥有一个巨大的旋转代理池,可确保用户在网上冲浪时的匿名性。
当有人想对某个网站进行大规模搜索时,这项功能也会很有帮助。在短时间内对一个网站提出多个请求,肯定会屏蔽你的 IP,认为这是一次恶意尝试或一个怀有不良企图的机器人。
使用旋转代理池会让网站认为有多个用户在与之交互,这样你就不会被发现,可以整天进行搜刮。
在进行网络抓取时,您可能会遇到更多障碍,例如验证码或浏览器指纹识别。正如您所预料的那样,我们构建的 WebScrapingAPI 可以避开所有这些障碍,让您尽可能轻松地提取数据。如果您想了解更多相关信息,请查看我们的文章:网络抓取程序遇到的最常见问题。
一种工具,多种用途
我们都同意,网络搜索是房地产行业的绝佳解决方案,但您也可以将其用于其他目的。以下是几个例子:监控竞争对手、比较产品价格和训练机器学习算法。
我还可以继续说下去,但这已经是一个全新的话题了。我不会把这篇文章永远拖下去,所以我建议你看看网络搜刮工具的七个使用案例。
在空闲时间创建一个网络搜索工具听起来很不错,但有很多事情需要考虑,这些事情会耗费大量的开发时间。在这里,你可以找到关于DIY 与预制网络搜索工具的深入讨论。
如果我们谈论的是扫描几个网页,自己构建工具不失为一种快速的解决方案。不过,专业的工作需要专业的工具,最好是 API,即 WebScrapingAPI。我提到免费试用了吗?
新闻和更新
订阅我们的时事通讯,了解最新的网络搜索指南和新闻。
We care about the protection of your data. Read our <l>Privacy Policy</l>.Privacy Policy.

相关文章

通过我们的深入指南,探索刮擦亚马逊产品数据的复杂性。从最佳实践和亚马逊 Scraper API 等工具到法律注意事项,了解如何应对挑战、绕过验证码并高效提取有价值的见解。


学习如何使用 Scrapy 和 Splash 抓取 JavaScript 渲染的动态网站。从安装到编写 spider、处理分页和管理 Splash 响应,本综合指南为初学者和专家提供了循序渐进的指导。


学习如何使用 Python 搜刮 JavaScript 表格。从网站提取数据,使用 Pandas 存储和处理数据。提高搜索过程的效率和可靠性。
