處理爬蟲遇到的亂碼問題

2022-05-01 02:18:10 字數 608 閱讀 2460

在我們爬取網頁的時候,可能會遇到亂碼的問題,解決這種的亂碼的問題有一種通用的方法

import requests

from lxml import etree

url = ''

headers =

response = requests.get(url=url,headers=headers)

#手動設定響應資料的編碼

# response.encoding = 'utf-8'

page_text = response.text

tree = etree.html(page_text)

li_list = tree.xpath('//div[@class="slist"]/ul/li')

for li in li_list:

img_src = li.xpath('./a/img/@src')[0]

img_name = li.xpath('./a/b/text()')[0]

#通用性

img_name = img_name.encode('iso-8859-1').decode('gbk')

print(img_src,img_name)

爬蟲遇到的問題

特殊字串處理的問題 第一佳大雞排 新街口店 黃燜雞公尺飯 被識別成資料夾名 處理特殊字元 dex0 line 6 find if dex0 1 line 6 line 6 0 dex0 約翰大叔 比薩 龍躍店 輸出時,有特殊字元,無法輸出。處理特殊字元 dex1 line 6 find if dex...

Python爬蟲處理抓取資料中文亂碼問題

亂碼原因 因為你的檔案宣告為utf 8,並且也應該是用utf 8的編碼儲存的原始檔。但是windows的本地預設編碼是cp936,也就是gbk編碼,所以在控制台直接列印utf 8的字串當然是亂碼了。解決方法 在控制台列印的地方用乙個轉碼就ok了,列印的時候這麼寫 print myname.decod...

Python爬蟲處理抓取資料中文亂碼問題

亂碼原因 因為你的檔案宣告為utf 8,並且也應該是用utf 8的編碼儲存的原始檔。但是windows的本地預設編碼是cp936,也就是gbk編碼,所以在控制台直接列印utf 8的字串當然是亂碼了。解決方法 在控制台列印的地方用乙個轉碼就ok了,列印的時候這麼寫 print myname.decod...