Python爬蟲基于lxml解決數據編碼亂碼問題
lxml是python的一個解析庫,支持HTML和XML的解析,支持XPath解析方式,而且解析效率非常高
XPath,全稱XML Path Language,即XML路徑語言,它是一門在XML文檔中查找信息的語言,它最初是用來搜尋XML文檔的,但是它同樣適用于HTML文檔的搜索
XPath的選擇功能十分強大,它提供了非常簡明的路徑選擇表達式,另外,它還提供了超過100個內建函數,用于字符串、數值、時間的匹配以及節(jié)點、序列的處理等,幾乎所有我們想要定位的節(jié)點,都可以用XPath來選擇
XPath于1999年11月16日成為W3C標準,它被設計為供XSLT、XPointer以及其他XML解析軟件使用,更多的文檔可以訪問其官方網站:https://www.w3.org/TR/xpath/
問題狀況:
response = requests.get(url=url, headers=headers).text html = etree.HTML(response) name = html.xpath("/html/body/div[2]/ul/li[1]/a/p/text()")[0] print(name)
可以正常獲取數據,但是結果是
å·²éªè¯ å®å ¨ ç¾ç
這樣子的亂碼
解決方法:
name = html.xpath("/html/body/div[2]/ul/li[1]/a/p/text()")[0].encode('ISO-8859-1').decode('UTF-8')
這邊的UTF-8根據網頁編碼情況而定
看網頁編碼情況
F12
以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。
相關文章
Pycharm pyuic5實現將ui文件轉為py文件,讓UI界面成功顯示
這篇文章主要介紹了Pycharm pyuic5實現將ui文件轉為py文件,讓UI界面成功顯示,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-04-04解決ImportError:cannot import name ‘Flatten‘&nb
這篇文章主要介紹了解決ImportError:cannot import name ‘Flatten‘ from ‘torch.nn‘問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2023-06-06