摘要:為了簡化問題,就把的內容簡化為如下的形式中文,就是任性它的為,其中的節點有一個為中文字符使用提取節點的值時出現了如下的異常此時對應的腳本為中文,就是任性不過簡化之前,報的是另外一個異常不論異常是哪一個,猜測還是和字符的編碼形式有關。
為了簡化問題,就把xml的內容簡化為如下的形式:
它的encoding為gbk,其中的節點有一個為中文字符
使用lxml提取節點的值時出現了如下的異常
lxml.etree.XMLSyntaxError: Extra content at the end of the document
此時對應的Python腳本為:
tst = u"" for event,element in etree.iterparse(BytesIO(tst.encode("utf-8"))): print("%s, %s" % (element.tag, element.text))
不過簡化之前,報的是另外一個異常
lxml.etree.XMLSyntaxError: input conversion failed due to input error, bytes 0x8B 0x2C 0xE6 0x9D
不論異常是哪一個,猜測還是和字符的編碼形式有關。
經過各種嘗試無果,后來在stackoverflow上看到這篇文章,文中提到的問題和xml中的encoding值有關,嘗試了增加了一段代碼
tst = u"" tst = tst.replace("encoding="gbk"", "encoding="utf-8"") for event,element in etree.iterparse(BytesIO(tst.encode("utf-8"))): print("%s, %s" % (element.tag, element.text))
增加了一個替換的語句,將之前的encoding="gbk"替換成encoding:"utf-8"
于是終于得到了結果:
da, 中文,就是任性 DOCUMENT, None
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/110327.html
摘要:為了簡化問題,就把的內容簡化為如下的形式中文,就是任性它的為,其中的節點有一個為中文字符使用提取節點的值時出現了如下的異常此時對應的腳本為中文,就是任性不過簡化之前,報的是另外一個異常不論異常是哪一個,猜測還是和字符的編碼形式有關。 為了簡化問題,就把xml的內容簡化為如下的形式: 它的encoding為gbk,其中的節點有一個為中文字符 使用lxml提取節點的值時出現了如下的...
摘要:解析器在解析的時候實際上是依賴于解析器的,它除了支持標準庫中的解析器,還支持一些第三方的解析器比如,下面我們對支持的解析器及它們的一些優缺點做一個簡單的對比。 上一篇文章:Python3網絡爬蟲實戰---28、解析庫的使用:XPath下一篇文章:Python3網絡爬蟲實戰---30、解析庫的使用:PyQuery 前面我們介紹了正則表達式的相關用法,但是一旦正則寫的有問題,可能得到的就...
摘要:并不是所有爬蟲都遵守,一般只有大型搜索引擎爬蟲才會遵守。的端口號為的端口號為工作原理網絡爬蟲抓取過程可以理解為模擬瀏覽器操作的過程。表示服務器成功接收請求并已完成整個處理過程。 爬蟲概念 數據獲取的方式: 企業生產的用戶數據:大型互聯網公司有海量用戶,所以他們積累數據有天然優勢。有數據意識的中小型企業,也開始積累的數據。 數據管理咨詢公司 政府/機構提供的公開數據 第三方數據平臺購買...
摘要:大奉打更人賣報小郎君這個人仙太過正經言歸正傳從紅月開始黑山老鬼穩住別浪跳舞二解析數據是一個可以從或文件中提取數據的庫。 目錄 一、XPath解析數據 1、XPath解析數據 2、XML的樹形結構 3、使用XPath選取節點 4、課堂案例 - 爬取起點小說網 二、BeautifulSoup解析...
閱讀 1612·2019-08-29 13:53
閱讀 3211·2019-08-29 13:50
閱讀 855·2019-08-27 10:51
閱讀 566·2019-08-26 18:36
閱讀 1798·2019-08-26 11:00
閱讀 605·2019-08-26 10:36
閱讀 3217·2019-08-23 17:58
閱讀 2033·2019-08-23 15:17