我的HD上有一个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 :(得分:0)
您可以使用以下代码:
from lxml import html
pagehtml = html.parse('index.html')
for elt in pagehtml.xpath('//a'):
print("**",'"',elt.text_content(),'"',"****", elt.attrib['href'])
这可确保自动处理文件数据的解码。