【Python】python3 正則爬取網頁輸出中文亂碼解決


爬取網頁時候print輸出的時候有中文輸出亂碼

例如:

\\xe4\\xb8\\xad\\xe5\\x8d\\x8e\\xe4\\xb9\\xa6\\xe5\\xb1\\x80

 

#爬取https://read.douban.com/provider/all出版社
pattern='<div class="name">(.*?)</div>'
import urllib.request
data = urllib.request.urlopen("https://read.douban.com/provider/all").read()
result = re.compile(pattern).findall(str(data))

print(result)

百度了使用encode  和decode    使用codecs都不好使。

應該在爬取網頁read()的時候就修改編碼格式

#爬取https://read.douban.com/provider/all出版社
pattern='<div class="name">(.*?)</div>'
import urllib.request
data = urllib.request.urlopen("https://read.douban.com/provider/all").read().decode("UTF-8")
result = re.compile(pattern).findall(str(data))
print(result)

還有一些中文亂碼的處理在這兒可能詳細點兒,也是這給我啟發讓我搞定這個亂碼。https://www.cnblogs.com/lmei/p/5333644.html

 ----------------------------------------------------------分割線-----------------------------------------------

直接   data = urllib.request.urlopen(url).read().decode("utf-8","ignore")

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM