我最近正在编写一个web scraper,我发现自己嵌套了try/except循环,并依赖错误驱动部分代码,如以下两段:
try:
reg_title = soup.find('p', {'class': "regnumber-e"}).text
except AttributeError:
try:
reg_title = soup.find('p', {'class': "regtitle-e"}).text
except AttributeError:
reg_title = soup.find('p', {'class': "Yregnumber-e"}).text
以及
if soup.find_all('p', {'class': "Notice"}):
try:
#More code
except IndexError:
#More code
continue
elif (soup.find_all('p', {'class': "ConsolidationPeriod-e"}) or
soup.find_all('p', {'class': "ConsolidationPeriod"})):
try:
text = soup.find('p', {'class': "ConsolidationPeriod-e"}).text
except AttributeError:
text = soup.find('p', {'class': "ConsolidationPeriod"}).text
elif soup.find('p', {'class': "Notice-e"}):
#More code
continue
else:
continue
显然我已经删去了部分代码,但是具体的代码在这里是不相关的。一般来说,我糟糕的编码传感器正在关闭,我觉得必须有一个更好的方法来导航不同的html标签时,网页抓取。有什么想法吗
你能不能不只是
try except
所有的代码都捕获多个异常?比如:在我看来,对于你试图获取文本的部分地方,一个简单的测试就足够了
比如:
或:
相关问题 更多 >
编程相关推荐