【问题标题】:Using pyzillow on multiple lists but getting errors在多个列表上使用 pyzillow 但出现错误
【发布时间】:2017-12-26 04:59:23
【问题描述】:

我在 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)

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

【问题讨论】:

  • @MaxU 如果您有任何意见,我们将不胜感激

标签: python pandas zillow


【解决方案1】:

根据我之前的回复,这就是我的意思:

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-02-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-30
    相关资源
    最近更新 更多