Я пишу код BeautifulSoup, чтобы заполнить словарь по результатам html-страницы, и мне нужна некоторая обработка ошибок.Хотя то, что у меня есть, делает работу, я чувствую, что есть лучший способ сделать это.Вот что у меня есть:
rightcol = result.find("div", {"class":"rightcol"})
try: mydict['rating'] = rightcol.find("div", {"class":"rating"}).contents[1]['class']
except AttributeError: pass
try: mydict['reviews'] = rightcol.find("span", {"class":"reviews"}).contents
except AttributeError: pass
try: mydict['address'] = rightcol.find("address").contents
except AttributeError: pass
(10+ more statements of the same kind)
То, что я надеюсь сделать, это поместить обработку ошибок в функцию, что-то вроде:
def process(key, code):
try: mydict[key] = (execute the BeautifulSoup code, different for each function call)
except: pass
Однако я не уверен всинтаксис передачи инструкций BeautifulSoup в функцию.Есть идеи?