0

我在 pyzillow API 中传递的列表

add_list = ['913   COMANCHE DR   OXON HILL MD ','70   CLAY ST   ANNAPOLIS MD ','9125   SCOTT ST  SPRINGFIELD VA ']
zip_list = [20745, 21401, 22153]

这是我正在运行的 API

from pyzillow.pyzillow import ZillowWrapper, GetDeepSearchResults
hometype = []

for add,zip_code in zip(add_list,zip_list):
    address = add
    zipcode = zip_code
    zillow_data = ZillowWrapper('X1-ZWz18uczm57uvf_56tmg')
    deep_search_response = zillow_data.get_deep_search_results(address, zipcode)
    result = GetDeepSearchResults(deep_search_response)
    hometype.append(result.home_type)

这完美运行并提供正确的输出

但是当我使用这些列表时

add_list_edited = ['913   COMANCHE DR   OXON HILL MD ','16640   HARWOOD OAKS CT   DUMFRIES VA ','70   CLAY ST   ANNAPOLIS MD ','9125   SCOTT ST   SPRINGFIELD VA ']
zip_list_edited = [20745, 22026, 21401, 22153]

我在运行相同的 API 时收到以下错误

TypeError: __str__ returned non-string (type dict)

我检查了列表中的第二个地址不是特定的,因此刮板抛出错误。我删除了它并且代码有效,但问题是我仅在 4 个元素上使用了反复试验。我正在处理大量元素,在删除具有第二个地址的值后,我运行代码并再次抛出相同的错误,但几乎不可能确定哪个地址出现问题。有没有办法向循环添加异常?我不介意丢弃给我错误的值。任何建议都会受到欢迎。

4

1 回答 1

0

基于我之前的回复,这就是我的意思:

from pyzillow.pyzillow import ZillowWrapper, GetDeepSearchResults, ZillowError

def getprice(address, zipcode):
    zid = 'put_api_key_here'

    zildat = ZillowWrapper(zid)
    try:
        deep_search_response = zildat.get_deep_search_results(address, zipcode)
    except ZillowError as e:
        message = e.message['text']
        code = e.message['code']
        print("Error: {code} - {message}".format(code=code, message=message))
        return 0

    result = GetDeepSearchResults(deep_search_response)
    price = result.last_sold_price
    return price
于 2018-06-11T19:28:38.250 回答