我在我的高清上有一个html文件,我想在xpath搜索上进行搜索,就像在抓取网站时一样。从硬盘打开html文件并在其上执行xpath搜索
我用下面的代码从网站凑:
from lxml import html
import requests
response = requests.get('http://www.website.com/')
if (response.status_code == 200):
pagehtml = html.fromstring(response.text)
for elt in pagehtml.xpath('//div[@class="content"]/ul/li/a'):
print("**",'"',elt.text_content(),'"',"****", elt.attrib['href'])
现在正从一个网站上的东西时,这个效果很好,但我怎么去当HTML文件是在我的HD。我试图约10的事情,目前我的代码看起来是这样的:
with open(r'website.html', 'rb') as infile:
data = infile.read()
for elt in data.xpath('//h3/a'):
print("**",'"',elt.text_content(),'"',"****", elt.attrib['href'])
我不断收到不同的错误,有时“_io.BufferedReader”错误,但我只是没有得到正确的代码。
有什么建议吗?问候
+0
使用XML解析器似乎是一个坏主意,因为HTML(甚至是严格的XHTML)很少有效的XML。 –