【问题标题】:Python Webdriver raises http.client.BadStatusLine errorPython Webdriver 引发 http.client.BadStatusLine 错误
【发布时间】:2017-02-02 13:03:13
【问题描述】:
我正在编写解析器,并且正在使用 Selenium Webdriver。所以,我有这个https://repl.it/Dgtp 代码,它工作正常,直到一个随机元素并引发以下异常:
http.client.BadStatusLine: ''
根本不知道如何解决。帮助。
[UPD]
我尝试通过 webdriver 滚动页面(它必须导致加载缩略图)并得到这个 https://repl.it/DkiX 错误系列。这将是由正在加载的图像之一的 HTTP 错误引起的,但我在页面上没有发现任何加载错误。仍在寻找答案。
【问题讨论】:
标签:
python
django
selenium
webdriver
phantomjs
【解决方案1】:
这是一个urllib 问题。这在 python3 中最常发生。这意味着服务器返回的状态码未被http库识别。有时服务器根本没有收到请求,并且状态代码返回一个空字符串来触发该错误。
如何解决
检查 URL 字符串是否有尾随换行符。确保您的 URL 没有任何前导或尾随特殊字符。更多信息here
如果 URL 一切正常,则处理异常
import http
try:
browser.get(MONTHLY_URL)
except http.client.HTTPException as e:
print e
【讨论】:
-
对不起,我在这个 Python 脚本中只有一个 URL。这是previewsworld.com/catalog,这似乎不是我错误的原因(或者我只是不明白你的修复建议)。我什至在 browser.get() 部分中没有任何错误(我尝试按照您所写的方式处理此错误,但没有任何区别)。当我试图解析已经给定的 HTML 时,我得到了 BadStatusLine,我完全不知道该怎么做。
-
-
已更新。我尝试将条目创建过程包装在 try-except 构造中,并注意到它会引发不同的错误:有时会引发 repl.it/Dgw5 ,有时会引发 - repl.it/Dgw5/1 ,有时会引发熟悉的 BadStatusLine 错误。无法解释这种现象,运行此脚本的服务器没有任何连接问题,实际上只有一次连接尝试,连接到 MONTHLY_URL 后我没有操作任何网络东西。
-