首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >如何在不停止脚本的情况下记录刮擦错误并继续前进?

如何在不停止脚本的情况下记录刮擦错误并继续前进?
EN

Stack Overflow用户
提问于 2017-09-21 12:44:43
回答 1查看 112关注 0票数 0

我用巨蟒和美丽的汤刮一个网站。我的脚本总是在到达某个url时停止,并声明

AttributeError: NoneType对象没有属性“find_all”

我也曾在网站的其他领域看到过这种情况。我想要的是记录错误和创建错误的url,然后继续,而不停止我的脚本。我试过这个

代码语言:javascript
代码运行次数:0
运行
复制
  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

当连接丢失时,它不会停止,但仍然会因为属性错误而停止。如何才能记录错误并继续呢?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-09-21 12:50:17

您需要将期望出现异常的地方分开。在上面的代码中,在连接到站点和检索页面时会捕获异常。您提到的AttributeError是在您成功检索页面之后发生的。因此,您必须有一些代码来执行bs4解析。在这里您需要捕获异常:

代码语言:javascript
代码运行次数:0
运行
复制
soup = BeautifulSoup(content)
try:
    tags = soup.find_all()
    # whatever else you do
except AttributeError as e:
    logger.error(e)
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/46344287

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档