【问题标题】:What is the deal about https when using lxml?使用 lxml 时,https 有什么问题?
【发布时间】:2011-12-14 12:34:00
【问题描述】:

我正在使用 lxml 来解析给定 url 的 html 文件。

例如:

link = 'https://abc.com/def'
htmltree = lxml.html.parse(link)

我的代码在大多数情况下运行良好,http:// 的情况。然而,我发现对于每个https:// url,lxml 都会得到一个IOError。有人知道原因吗?并且可能,如何纠正这个问题?

顺便说一句,鉴于我已经完成了一个快速完成的程序,我想坚持使用 lxml 而不是切换到 BeautifulSoup。

【问题讨论】:

    标签: python parsing lxml


    【解决方案1】:

    我不知道发生了什么,但我得到了同样的错误。 HTTPS 可能不受支持。不过,您可以使用 urllib2 轻松解决此问题:

    from lxml import html
    from urllib2 import urlopen
    
    html.parse(urlopen('https://duckduckgo.com'))
    

    【讨论】:

    • from urllib.request import urlopen for python3
    【解决方案2】:

    来自lxml 文档:

    lxml 可以从本地文件、HTTP URL 或 FTP URL 解析

    我在任何地方都没有在这句话中看到 HTTPS,所以我认为它不受支持。

    一个简单的解决方法是使用其他支持 HTTPS 的库(例如 urllib2)检索文件,并将检索到的文档作为字符串传递给 lxml

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-03-08
      • 2011-01-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-05-25
      相关资源
      最近更新 更多