最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Python爬蟲XPath解析出亂碼的問題及解決

 更新時(shí)間:2024年05月24日 15:32:27   作者:平人的進(jìn)步日常  
這篇文章主要介紹了Python爬蟲XPath解析出亂碼的問題及解決,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教

Python爬蟲XPath解析出亂碼

請(qǐng)求后加上編碼

resp = requests.get(url, headers=headers)
resp.encoding = 'GBK'

Python XPath解析html出現(xiàn)â??解決方法 html出現(xiàn){

爬網(wǎng)頁又遇到一個(gè)坑,老是出現(xiàn)a亂碼,查看html出現(xiàn)的是&#數(shù)字;這樣的。

網(wǎng)上相關(guān)的“Python字符中出現(xiàn)&#的解決辦法”又沒有很好的解決,自己繼續(xù)沖浪,費(fèi)了一番功夫解決了。

這算是又加深了一下我對(duì)這些iso、Unicode編碼的理解。故分享。

問題

用Python的lxml解析html時(shí),調(diào)用text()輸出出來的結(jié)果帶有a這樣的亂碼:

網(wǎng)頁原頁面展示:

爬取代碼:

url = "xxx"
 
response = requests.request("GET", url)
 
html = etree.HTML(response.text)
 
# 直接調(diào)用text函數(shù)
description = html.xpath('//div[@class="xxx"]/div/div//text()')
# 直接打印
for desc in description:
    print(desc)

原因

不用說自然是編碼的問題。下面教大家排查和解決。

排查與解決

首先查看返回的響應(yīng)是如何編碼的:

response = requests.request("GET", url, proxies=proxy)
# 得到響應(yīng)之后,先檢查一下它的編碼方式
print(response.encoding)

結(jié)果如下:

然后根據(jù)這個(gè)編碼的方式再來解碼:

html = etree.HTML(response.text)
 
description = html.xpath('//div[@class="xxx"]/div/div//text()')
 
for desc in description:
    # print(desc)
    # 根據(jù)上面的結(jié)果,用iso88591來編碼,再解碼為utf-8
    print(desc.encode("ISO-8859-1").decode("utf-8"))

結(jié)果如下:

完整代碼:

url = "xxx"
 
response = requests.request("GET", url)
print(response.encoding)
 
html = etree.HTML(response.text)
 
description = html.xpath('//div[@class="xxx"]/div/div//text()')
 
for desc in description:
    print(desc.encode("ISO-8859-1").decode("utf-8"))
    # print(desc)

總結(jié)

網(wǎng)上有用python2流傳下來的HTMLParser的,還有用python3的html包的,效果都不好。

不過也有改response的編碼方式的,就是這樣:

url = "xxx"
 
response = requests.request("GET", url)
 
# html = etree.HTML(response.text)
html = etree.HTML(response.content)  # 改用二進(jìn)制編碼
 
# 直接調(diào)用text函數(shù)
description = html.xpath('//div[@class="xxx"]/div/div//text()')
# 直接打印
for desc in description:
    print(desc)

也能成功解析。

以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • Python Pygame實(shí)戰(zhàn)之飛機(jī)大戰(zhàn)的實(shí)現(xiàn)

    Python Pygame實(shí)戰(zhàn)之飛機(jī)大戰(zhàn)的實(shí)現(xiàn)

    飛機(jī)大戰(zhàn)想必是很多人童年時(shí)期的經(jīng)典游戲,這篇文章主要給大家介紹了關(guān)于如何利用python中的Pygame模塊寫一個(gè)簡單的飛機(jī)大戰(zhàn)小游戲的相關(guān)資料,需要的朋友可以參考下
    2022-03-03
  • Python實(shí)現(xiàn)飛機(jī)大戰(zhàn)項(xiàng)目

    Python實(shí)現(xiàn)飛機(jī)大戰(zhàn)項(xiàng)目

    這篇文章主要為大家詳細(xì)介紹了Python實(shí)現(xiàn)飛機(jī)大戰(zhàn)項(xiàng)目,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2021-07-07
  • matplotlib實(shí)戰(zhàn)之餅圖繪制詳解

    matplotlib實(shí)戰(zhàn)之餅圖繪制詳解

    餅圖,或稱餅狀圖,是一個(gè)劃分為幾個(gè)扇形的圓形統(tǒng)計(jì)圖表,這篇文章主要為大家詳細(xì)介紹了如何使用Matplotlib繪制餅圖,需要的小伙伴可以參考下
    2023-08-08
  • python生成png的方法

    python生成png的方法

    本文主要介紹了python生成png的方法,文中通過示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2021-10-10
  • pandas提升計(jì)算效率的一些方法匯總

    pandas提升計(jì)算效率的一些方法匯總

    理解 pandas 的函數(shù),要對(duì)函數(shù)式編程有一定的概念和理解,下面這篇文章主要給大家介紹了關(guān)于pandas提升計(jì)算效率的相關(guān)資料,需要的朋友可以參考下
    2021-05-05
  • Python學(xué)習(xí)筆記之While循環(huán)用法分析

    Python學(xué)習(xí)筆記之While循環(huán)用法分析

    這篇文章主要介紹了Python學(xué)習(xí)筆記之While循環(huán)用法,結(jié)合具體實(shí)例形式分析了while循環(huán)的原理、用法及相關(guān)操作注意事項(xiàng),需要的朋友可以參考下
    2019-08-08
  • 深度學(xué)習(xí)小工程練習(xí)之tensorflow垃圾分類詳解

    深度學(xué)習(xí)小工程練習(xí)之tensorflow垃圾分類詳解

    這篇文章主要介紹了練習(xí)深度學(xué)習(xí)的一個(gè)小工程,代碼簡單明確,用來作為學(xué)習(xí)深度學(xué)習(xí)的練習(xí)很適合,對(duì)于有需要的朋友可以參考下,希望大家可以體驗(yàn)到深度學(xué)習(xí)帶來的收獲
    2021-04-04
  • Python使用Tkinter打造一個(gè)完整的桌面應(yīng)用

    Python使用Tkinter打造一個(gè)完整的桌面應(yīng)用

    在Python生態(tài)中,Tkinter就像一把瑞士軍刀,它沒有花哨的特效,卻能快速搭建出實(shí)用的圖形界面,作為Python自帶的標(biāo)準(zhǔn)庫,無需安裝即可使用,這種“開箱即用”的特性讓它成為新手入門GUI開發(fā)的首選,本文將通過構(gòu)建一個(gè)完整的記事本應(yīng)用,帶你領(lǐng)略Tkinter的實(shí)用魅力
    2025-06-06
  • pycharm日志總是彈出“無法運(yùn)行Git,未安裝Git”的問題

    pycharm日志總是彈出“無法運(yùn)行Git,未安裝Git”的問題

    這篇文章主要介紹了pycharm日志總是彈出“無法運(yùn)行Git,未安裝Git”的問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-06-06
  • python之從文件讀取數(shù)據(jù)到list的實(shí)例講解

    python之從文件讀取數(shù)據(jù)到list的實(shí)例講解

    下面小編就為大家分享一篇python之從文件讀取數(shù)據(jù)到list的實(shí)例講解,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧
    2018-04-04

最新評(píng)論

丹阳市| 富阳市| 绥中县| 镇赉县| 微博| 腾冲县| 原平市| 昆山市| 建宁县| 平顶山市| 黄骅市| 米脂县| 安徽省| 阿克| 惠安县| 石嘴山市| 平昌县| 泾源县| 静乐县| 瑞丽市| 崇信县| 原阳县| 建瓯市| 贡山| 平南县| 东丰县| 南部县| 隆安县| 遂川县| 昔阳县| 鸡泽县| 公安县| 柳林县| 五家渠市| 海盐县| 泽普县| 广元市| 泰顺县| 津南区| 犍为县| 神池县|