我正在使用lxml解析给定网址的html文件。
例如:
link = 'https://abc.com/def'
htmltree = lxml.html.parse(link)
我的代码适用于大多数情况,http://
。但是,我发现每个https://
url,lxml只会得到一个 IOError 。有谁知道原因?可能,如何纠正这个问题?
答案 0 :(得分:17)
我不知道发生了什么,但我得到了同样的错误。可能不支持HTTPS。您可以使用urllib2
轻松解决此问题:
from lxml import html
from urllib2 import urlopen
html.parse(urlopen('https://duckduckgo.com'))
答案 1 :(得分:5)
来自lxml
文档:
lxml可以从本地文件,HTTP URL或FTP URL进行解析
我在那个句子中没有看到HTTPS,所以我认为它不受支持。
一个简单的解决方法是使用支持HTTPS的其他库(例如urllib2
)检索文件,并将检索到的文档作为字符串传递给lxml
。