我正在使用python和beautifulsoup来抓取一个网站。我的脚本总是在到达某个网址时停止并说明
AttributeError:' NoneType'对象没有属性' find_all'
我也预见到在网站的其他区域也会发生这种情况。我想要的是记录错误和创建它的网址,然后继续而不停止我的脚本。 我试过这个
uClient2 = ''
try:
uClient2 = requests.get(FSGsubcardref)
print("Proceding to get the sub_subblink...")
except Exception as error:
logger.exception(error)
print("Connection refused by the server..")
time.sleep(8)
continue
当连接丢失时它不会停止,但它仍然因属性错误而停止。如何记录错误并继续?
答案 0 :(得分:2)
您需要将预期发生异常的地方分开。在上面的代码中,您将捕获连接到站点和检索页面的异常。成功检索页面后,您提到AttributeError
。所以你必须有一些代码来执行bs4解析。您需要捕获异常:
soup = BeautifulSoup(content)
try:
tags = soup.find_all()
# whatever else you do
except AttributeError as e:
logger.error(e)