Прямо сейчас я пытаюсь просмотреть сайт недвижимости и почистить данные о недвижимости.У меня есть код, который просматривает список свойств, получает данные, а затем переходит на страницу для каждого свойства и получает более подробные данные.Это работает, но проблема в том, что если какое-либо поле отсутствует, я получаю ошибку, которая вызывает исключение и заставляет его перейти к следующему свойству.Вместо этого я хотел бы, чтобы он просто устанавливал нулевое значение для любых отсутствующих данных, которые я новичок в Python и веб-скрепинге, так что может быть больше понимания того, как очистить мой код, так что не стесняйтесь комментировать это, но в основном я »Я просто пытаюсь заставить его положить нули, где он находит недостающие данные.Вот код, где prop_list является HTML-кодом для
for item in prop_list:
try:
d ={}
d["address"] = item.find("span", {"itemprop":"streetAddress"}).text
d["city"] = item.find("span", {"itemprop":"addressLocality"}).text
d["state"] = item.find("span", {"itemprop":"addressRegion"}).text
d["zip_code"] = item.find("span", {"itemprop":"postalCode"}).text
d["price"] = item.find("span", {"class":"data-price"}).text
d["lot_sqft"] = item.find("li", {"data-label":"property-meta-lotsize"}).find("span", {"class":"data-value"}).text
link = item.find("a").get("href")
url = "https://www.realtor.com" + link
d["url"] = url
d["longitude"] = item.find("meta",{"itemprop":"longitude"}).get("content")
d["latitude"] = item.find("meta",{"itemprop":"latitude"}).get("content")
desc_link = requests.get(url,headers=headers)
b = desc_link.content
temp = BeautifulSoup(b,"html.parser")
d["description"] = temp.find("p", {"class": "word-wrap-break"})
d["year_built"] = temp.find("li", {"data-label": "property-year"}).find("div", {"class":"key-fact-data ellipsis"}).text
l.append(d)
except:
print("exception occurred")
Спасибо!