我正在學習如何使用 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())
- 1 回答
- 0 關注
- 149 瀏覽
添加回答
舉報
0/150
提交
取消