【问题标题】: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 后我没有操作任何网络东西。
    • 再次更新。
    猜你喜欢
    • 2015-08-26
    • 2016-12-27
    • 2014-07-23
    • 1970-01-01
    • 2017-04-11
    • 1970-01-01
    • 1970-01-01
    • 2020-02-26
    • 1970-01-01
    相关资源
    最近更新 更多