我一直在审查如何使用XPass和lxml从网站读取HTML的示例。出于某种原因,当我尝试使用本地文件时,我一直遇到此错误。
AttributeError: 'str' object has no attribute 'content'
这是代码
with open(r'H:\Python\Project\File','r') as f:
file = f.read()
f.close()
tree = html.fromstring(file.content)
答案 0 :(得分:1)
您的代码存在一些问题。看起来您正在修改从http / https请求解析html的代码。在这种情况下,使用.content()
从响应对象中提取字节。
但是,从文件中读取时,您已经在with
上下文中读取了该文件的内容。此外,您不需要使用.close()
,上下文管理器会为您处理。
试试这个:
with open(r'H:\Python\Project\File','r') as f:
tree = html.fromstring(f.read())