我正在使用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
我正在尝试在此处提供代码,但是由于某种原因,它不会让我跳到下一行。
最佳答案
我们可以通过运行pyzillow
以及此处的代码Pyzillow source code来查看result
的属性,从而了解使用dir(result)
包可以得到的租金不是一个领域。
但是,由于开源的美,您可以编辑此程序包的源代码并获得所需的功能。方法如下:
首先,找到代码在硬盘驱动器中的位置。导入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包将返回Rent Zestimate!我们试试看:
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)
可以正确返回$ 1200的Rent Zestimate,可以在the Zillow page of that address处进行验证。
关于python - 从Zillow API中提取Zillow租金数据,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/56993325/