爬取網頁時候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")