为了账号安全,请及时绑定邮箱和手机立即绑定

使用 LXML 从 html 文件获取 xpath - Python

使用 LXML 从 html 文件获取 xpath - Python

隔江千里 2023-10-24 15:08:33
我正在学习如何使用 lxml 解析文档。为此,我尝试解析我的 linkedin 页面。它有很多信息,我认为这将是一次很好的培训。上下文足够了。这是我正在做的:转到网址: https: //www.linkedin.com/in/NAME/打开源代码并将其保存为“linkedin.html”当我试图摆脱当前的工作时,我正在执行以下操作:from io import StringIO, BytesIOfrom lxml import html, etree# read filefilename = 'linkedin.html'file = open(filename).read()# building parserparser = etree.HTMLParser()tree = etree.parse(StringIO(file), parser)# parse an elementtitle = tree.xpath('/html/body/div[6]/div[4]/div[3]/div/div/div/div/div[2]/main/div[1]/section/div[2]/div[2]/div[1]/h2')print(title)树变量的类型是但它总是为我的变量标题返回一个空列表。我已经尝试了一整天,但仍然不明白我做错了什么。
查看完整描述

1 回答

?
梵蒂冈之花

TA贡献1900条经验 获得超5个赞

我通过在 open() 函数中添加编码参数找到了问题的答案。


这是我所做的:


def parse_html_file(filename):

    f = open(filename, encoding="utf8").read()

    parser = etree.HTMLParser()

    tree = etree.parse(StringIO(f), parser)

    return tree



tree = parse_html_file('linkedin.html')

name = tree.xpath('//li[@class="inline t-24 t-black t-normal break-words"]')

print(name[0].text.strip())


查看完整回答
反对 回复 2023-10-24
  • 1 回答
  • 0 关注
  • 51 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信