python徹底解決網頁採集亂碼問題,準確率 99%
注意引入必要的包,如果有不足的地方,歡迎指正。def
download_page
(indexurl, timeout=10):
""" :param indexurl:
:param timeout:
:return:
"""try:
res = urllib2.urlopen(indexurl, timeout=timeout)
code = res.getcode()
info = res.info()
charset = none
if info:
m = re.findall(r'charset=([a-za-z0-9_-]+)', ' '.join(info.headers), re.i)
if m:
charset = str(m[0]).lower()
if code == 200:
html = res.read()
ifnot charset and html:
charset = pick_charset(html)
# 如果完全採不到 charset,預設使用 gbk 反正都是亂碼
ifnot charset or charset == "gb2312":
charset = 'gbk'
if charset and charset != 'utf-8':
try:
html = html.decode(charset).encode('utf-8')
except:
pass
else:
html = ''
return (code,
res.geturl(),
charset,
html
)except urllib2.urlerror, e:
return str("%r" % e)
except socket.timeout, e:
return str("%r" % e)
except:
return str(sys.exc_info())
教你如何徹底解決網頁中文亂碼
一般來說,做好兩件事就可以防止亂碼了 就是在頁面中明確宣告網頁的編碼 php頁面 header content type text html charset utf 8 html頁面 儲存頁面檔案的時候勾選為 utf 8 編碼的格式 做好這兩步,基本上可以解決大部分的編碼問題 現在我們說說特殊情況 ...
徹底解決 OBJC CLASS
最近在使用靜態庫時,總是出現這個問題。下面總結一下我得解決方法 1.m檔案沒有匯入 在build phases裡的compile sources 中新增報錯的檔案 2.framework檔案沒有匯入 靜態庫編譯時往往需要一些庫的支援,檢視你是否有沒有匯入的庫檔案 同樣是在build phases裡的...
徹底解決INSTALL FAILED UPDATE
按ctrl c退出系統,利用adb pull data system packages.xml命令將packages.xml放到你pc機本地,然後找到你需要的包名,刪除到的一段資料。例如 儲存packages.xml,然後adb push packages.xml data system將packa...