Python 如何记录刮取错误并在不停止脚本的情况下继续
我正在使用python和beautifulsoup清理一个站点。我的脚本在到达某个url和状态时总是停止 AttributeError:“非类型”对象没有“全部查找”属性 我也在网站的其他区域看到了这种情况。我想要的是记录错误和创建错误的url,然后在不停止脚本的情况下继续。 我试过这个Python 如何记录刮取错误并在不停止脚本的情况下继续,python,web-scraping,Python,Web Scraping,我正在使用python和beautifulsoup清理一个站点。我的脚本在到达某个url和状态时总是停止 AttributeError:“非类型”对象没有“全部查找”属性 我也在网站的其他区域看到了这种情况。我想要的是记录错误和创建错误的url,然后在不停止脚本的情况下继续。 我试过这个 uClient2 = '' try: uClient2 = requests.get(FSGsubcardref) print("Proceding to get the sub_s
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
当连接丢失时,它不会停止,但仍会因属性错误而停止。如何记录错误并继续?您需要将异常发生的位置分开。在上面的代码中,您正在捕获连接到站点和检索页面时的异常。您提到的
AttributeError
发生在您成功检索页面之后。因此,您必须有一些执行bs4解析的代码。在这里,您需要捕获异常:
soup = BeautifulSoup(content)
try:
tags = soup.find_all()
# whatever else you do
except AttributeError as e:
logger.error(e)
您需要将期望发生异常的地方分开。在上面的代码中,您正在捕获连接到站点和检索页面时的异常。您提到的
AttributeError
发生在您成功检索页面之后。因此,您必须有一些执行bs4解析的代码。在这里,您需要捕获异常:
soup = BeautifulSoup(content)
try:
tags = soup.find_all()
# whatever else you do
except AttributeError as e:
logger.error(e)
好啊我可以将其应用于bs4解析过程中发现的任何错误吗。这样就不会只针对属性错误了?当然,如果需要,您可以捕获
异常。一般来说,最好捕获特定错误并使用例程来处理它们,但是捕获常规异常
就可以开始了。ok。我可以将其应用于bs4解析过程中发现的任何错误吗。这样就不会只针对属性错误了?当然,如果需要,您可以捕获异常。通常,最好捕获特定错误并使用例程来处理它们,但是捕获常规异常
就可以开始了。