我正在解析显示项目数据的网站上的网页。这些项目有大约 20 个可能出现也可能不出现的字段——比如:价格、数量、最后购买、高、低等。
我目前正在使用一系列命令;大约 20 行soup.find('div',{'class':SOME_FIELD_OF_INTEREST})
来查找每个单独的感兴趣领域。(有些在div
, span
, dd
, 等等,所以很难只做一个soup.find_all('div')
命令。)
我的问题:是否有一种优雅的方式try
和except
一切,使得所述代码的查看可以更紧凑或更简洁?现在,示例行如下所示:
try:
soup.find('div', {'id':'item-pic'}).img["src"]
except:
""
我希望将所有内容组合在一行中。我认为我不能在语法上运行 try: <line of code> except: <code>
,而且我不确定如何编写一个try_command(soup.find('div',{'id':'item-pic'}).img["src"])
无需实际运行命令的函数。
我很想听听是否有人有任何建议(包括:“这不可能/不切实际,继续前进”)。:)
编辑:聊了一会儿,我想我想看看内联异常处理的好做法是什么,以及这是否是正确的途径。