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

Python爬蟲(chóng)XPath解析出亂碼的問(wèn)題及解決

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

Python爬蟲(chóng)XPath解析出亂碼

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

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

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

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

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

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

問(wèn)題

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

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

爬取代碼:

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)

原因

不用說(shuō)自然是編碼的問(wèn)題。下面教大家排查和解決。

排查與解決

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

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

結(jié)果如下:

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

html = etree.HTML(response.text)
 
description = html.xpath('//div[@class="xxx"]/div/div//text()')
 
for desc in description:
    # print(desc)
    # 根據(jù)上面的結(jié)果,用iso88591來(lái)編碼,再解碼為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流傳下來(lái)的HTMLParser的,還有用python3的html包的,效果都不好。

不過(guò)也有改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è)簡(jiǎn)單的飛機(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的方法,文中通過(guò)示例代碼介紹的非常詳細(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è)小工程,代碼簡(jiǎn)單明確,用來(lái)作為學(xué)習(xí)深度學(xué)習(xí)的練習(xí)很適合,對(duì)于有需要的朋友可以參考下,希望大家可以體驗(yàn)到深度學(xué)習(xí)帶來(lái)的收獲
    2021-04-04
  • Python使用Tkinter打造一個(gè)完整的桌面應(yīng)用

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

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

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

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

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

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

最新評(píng)論

鹤庆县| 建昌县| 炉霍县| 林芝县| 绵阳市| 肥城市| 黑河市| 纳雍县| 如皋市| 淅川县| 两当县| 涿州市| 博爱县| 普宁市| 岑溪市| 清镇市| 白河县| 教育| 和顺县| 海兴县| 容城县| 临汾市| 收藏| 河津市| 兰州市| 旺苍县| 遂平县| 台州市| 望奎县| 新河县| 肇庆市| 凤城市| 双桥区| 亳州市| 历史| 江油市| 大宁县| 理塘县| 抚宁县| 噶尔县| 玉门市|