【问题标题】:How to scrape text from websites using Python如何使用 Python 从网站上抓取文本
【发布时间】:2016-04-06 21:21:16
【问题描述】:

我使用“requests”和“beautifulSoup”api 在 python 中编写了一个代码,以从 google 返回的前 100 个站点中抓取文本数据。 好吧,它在大多数网站上都很好用,但是对于那些稍后响应或根本没有响应的网站,它会给出错误 我收到此错误

引发 MaxRetryError(_pool, url, error or ResponseError(cause)) requests.packages.urllib3.exceptions.MaxRetryError: HTTPConnectionPool(host='www.lfpress.com', port=80): 最大重试次数超过 url: /2015/11/06/fair-with-a-flare-samosas-简单(由NewConnectionError引起(':无法建立新连接:[Errno 11001] getaddrinfo failed',))

我应该更改在请求 API 中编写的代码吗?或者我需要使用一些代理?我怎样才能离开该站点并转到下一个站点?由于错误正在停止我的执行。

【问题讨论】:

  • 尝试:.. 除外:通过?

标签: python web-scraping beautifulsoup python-requests text-mining


【解决方案1】:

在您的调用周围添加一个“try except”块以捕获该异常并在您不关心以下错误时继续:

import requests
try:
    requests.get('http://stackoverflow.com/')
except requests.packages.urllib3.exceptions.MaxRetryError as e:
    print repr(e)

【讨论】:

  • 谢谢,如何避免 requests.packages.urllib3.exceptions 中存在的所有异常?不只是 MaxRetryError?
  • @MuhammadZeeshan 这就是所谓的被动错误处理。单独使用except 而不指定。
  • 要展开^,可以写except Exception as e: smth smth e
猜你喜欢
  • 2017-01-05
  • 1970-01-01
  • 2013-12-05
  • 1970-01-01
  • 2017-02-13
  • 1970-01-01
  • 2018-09-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多