从 Zillow API 中提取 Zillow 租金数据
Pulling Zillow Rent Data from Zillow API
我正在使用 Zillow API,但我无法检索租金数据。目前我正在使用 Python Zillow 包装器,但我不确定它是否适用于提取租金数据。
这是我用于 Zillow API 的帮助页面:
https://www.zillow.com/howto/api/GetSearchResults.htm
import pyzillow
from pyzillow.pyzillow import ZillowWrapper, GetDeepSearchResults
import pandas as pd
house = pd.read_excel('Housing_Output.xlsx')
### Login to Zillow API
address = ['123 Test Street City, State Abbreviation'] # Fill this in with an address
zip_code = ['zip code'] # fill this in with a zip code
zillow_data = ZillowWrapper(API KEY)
deep_search_response = zillow_data.get_deep_search_results(address, zip_code)
result = GetDeepSearchResults(deep_search_response)
# These API calls work, but I am not sure how to retrieve the rent data
print(result.zestimate_amount)
print(result.tax_value)
添加附加信息:
第 2 章讨论了如何通过创建一个名为 zillowProperty 的 XML 函数来提取租金数据。我进入 XML 的技能不是很好,但我认为我需要:
a) 导入一些 xml 包来帮助阅读
b) 将代码保存为XML文件并使用open函数读取文件
https://www.amherst.edu/system/files/media/Comprehensive_Evaluation_-_Ningyue_Christina_Wang.pdf
我想在这里提供代码,但由于某种原因它不会让我中断到下一行。
通过 运行ning dir(result)
查看您的 result
的属性,我们可以看到租金不是使用 pyzillow
包可以获得的字段,以及此处的代码:Pyzillow source code.
但是,由于开放源代码的优点,您可以编辑此包的源代码并获得您正在寻找的功能。方法如下:
首先,找到代码在硬盘中的位置。导入 pyzillow
,以及 运行:
pyzillow?
File
字段为我显示了这个:
c:\programdata\anaconda3\lib\site-packages\pyzillow\__init__.py
因此转到 c:\programdata\anaconda3\lib\site-packages\pyzillow
(或它为您显示的任何内容)并使用文本编辑器打开 pyzillow.py
文件。
现在我们需要做两个改变。
一: 在get_deep_search_results
函数里面,你会看到params
。我们需要对其进行编辑以打开 rentzestimate
功能。所以将该函数更改为:
def get_deep_search_results(self, address, zipcode):
"""
GetDeepSearchResults API
"""
url = 'http://www.zillow.com/webservice/GetDeepSearchResults.htm'
params = {
'address': address,
'citystatezip': zipcode,
'zws-id': self.api_key,
'rentzestimate': True # This is the only line we add
}
return self.get_data(url, params)
二:转到class GetDeepSearchResults(ZillowResults)
,将以下内容添加到attribute_mapping
字典中:
'rentzestimate_amount': 'result/rentzestimate/amount'
瞧! 定制和更新的 Python 套餐现在 returns 租金估价!让我们试试:
from pyzillow.pyzillow import ZillowWrapper, GetDeepSearchResults
address = ['11 Avenue B, Johnson City, NY']
zip_code = ['13790']
zillow_data = ZillowWrapper('X1-ZWz1835knufc3v_38l6u')
deep_search_response = zillow_data.get_deep_search_results(address, zip_code)
result = GetDeepSearchResults(deep_search_response)
print(result.rentzestimate_amount)
正确 returns 1200 美元的租金 Zestimate,可以在 the Zillow page of that address 验证。
我正在使用 Zillow API,但我无法检索租金数据。目前我正在使用 Python Zillow 包装器,但我不确定它是否适用于提取租金数据。
这是我用于 Zillow API 的帮助页面: https://www.zillow.com/howto/api/GetSearchResults.htm
import pyzillow
from pyzillow.pyzillow import ZillowWrapper, GetDeepSearchResults
import pandas as pd
house = pd.read_excel('Housing_Output.xlsx')
### Login to Zillow API
address = ['123 Test Street City, State Abbreviation'] # Fill this in with an address
zip_code = ['zip code'] # fill this in with a zip code
zillow_data = ZillowWrapper(API KEY)
deep_search_response = zillow_data.get_deep_search_results(address, zip_code)
result = GetDeepSearchResults(deep_search_response)
# These API calls work, but I am not sure how to retrieve the rent data
print(result.zestimate_amount)
print(result.tax_value)
添加附加信息:
第 2 章讨论了如何通过创建一个名为 zillowProperty 的 XML 函数来提取租金数据。我进入 XML 的技能不是很好,但我认为我需要:
a) 导入一些 xml 包来帮助阅读 b) 将代码保存为XML文件并使用open函数读取文件
https://www.amherst.edu/system/files/media/Comprehensive_Evaluation_-_Ningyue_Christina_Wang.pdf
我想在这里提供代码,但由于某种原因它不会让我中断到下一行。
通过 运行ning dir(result)
查看您的 result
的属性,我们可以看到租金不是使用 pyzillow
包可以获得的字段,以及此处的代码:Pyzillow source code.
但是,由于开放源代码的优点,您可以编辑此包的源代码并获得您正在寻找的功能。方法如下:
首先,找到代码在硬盘中的位置。导入 pyzillow
,以及 运行:
pyzillow?
File
字段为我显示了这个:
c:\programdata\anaconda3\lib\site-packages\pyzillow\__init__.py
因此转到 c:\programdata\anaconda3\lib\site-packages\pyzillow
(或它为您显示的任何内容)并使用文本编辑器打开 pyzillow.py
文件。
现在我们需要做两个改变。
一: 在get_deep_search_results
函数里面,你会看到params
。我们需要对其进行编辑以打开 rentzestimate
功能。所以将该函数更改为:
def get_deep_search_results(self, address, zipcode):
"""
GetDeepSearchResults API
"""
url = 'http://www.zillow.com/webservice/GetDeepSearchResults.htm'
params = {
'address': address,
'citystatezip': zipcode,
'zws-id': self.api_key,
'rentzestimate': True # This is the only line we add
}
return self.get_data(url, params)
二:转到class GetDeepSearchResults(ZillowResults)
,将以下内容添加到attribute_mapping
字典中:
'rentzestimate_amount': 'result/rentzestimate/amount'
瞧! 定制和更新的 Python 套餐现在 returns 租金估价!让我们试试:
from pyzillow.pyzillow import ZillowWrapper, GetDeepSearchResults
address = ['11 Avenue B, Johnson City, NY']
zip_code = ['13790']
zillow_data = ZillowWrapper('X1-ZWz1835knufc3v_38l6u')
deep_search_response = zillow_data.get_deep_search_results(address, zip_code)
result = GetDeepSearchResults(deep_search_response)
print(result.rentzestimate_amount)
正确 returns 1200 美元的租金 Zestimate,可以在 the Zillow page of that address 验证。