国产一级a片免费看高清,亚洲熟女中文字幕在线视频,黄三级高清在线播放,免费黄色视频在线看

打開APP
userphoto
未登錄

開通VIP,暢享免費(fèi)電子書等14項(xiàng)超值服

開通VIP
python urllib爬取網(wǎng)頁編碼問題

利用Python urllib庫爬取網(wǎng)頁,有時獲得的網(wǎng)頁打印或?qū)懳募龅骄幋a問題,找了許久終于知道為什么了。

首先利用urlopen()函數(shù)獲取網(wǎng)頁對象,再利用info()函數(shù)打印網(wǎng)頁的相關(guān)信息,確定網(wǎng)頁的編碼及是否壓縮。

[python] view plain copy
  1. import urllib.request  
  2.   
  3. fp = urllib.request.urlopen('http://www.sina.com')  
  4. mybytes = fp.read()  
  5. text = mybytes.decode('utf8')  
  6. print(text)  
報錯


顯示編碼錯誤,剛開始,傻傻地試各種編碼,utf-8,gbk,gb2312,都不行,心里堵得慌,是在玩我嗎?

so,開始懷疑是bug,但是有的網(wǎng)頁又不會出錯,這就奇怪了,最后google找到了一個解釋,說是返回的網(wǎng)頁數(shù)據(jù)是壓縮格式,恍然大悟,先打印網(wǎng)頁信息,看一眼


gzip,網(wǎng)頁是壓縮后的,所以要先解壓,上代碼

[python] view plain copy
  1. import urllib.request  
  2. import zlib  
  3.   
  4. fp = urllib.request.urlopen('http://www.sina.com')  
  5. mybytes = fp.read()  
  6. decompressed_data = zlib.decompress(mybytes ,16+zlib.MAX_WBITS)  
  7. text = decompressed_data.decode('utf8')  
  8. print(text)  
  9. print(fp.info())  
結(jié)果


Google問題原版

http://stackoverflow.com/questions/3746993/change-python-byte-type-to-string

http://stackoverflow.com/questions/3703276/how-to-tell-if-a-file-is-gzip-compressed/3703300#3703300

本站僅提供存儲服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點(diǎn)擊舉報
打開APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
Python 爬蟲介紹 | 菜鳥教程
「爬蟲教程」第一章:python爬蟲基礎(chǔ)教程
python爬蟲實(shí)踐之網(wǎng)頁抓取 | IT癮
python抓取gb2312/gbk編碼網(wǎng)頁亂碼問題
使用python urllib進(jìn)行網(wǎng)頁爬取
Python3網(wǎng)絡(luò)爬蟲(一):利用urllib進(jìn)行簡單的網(wǎng)頁抓取
更多類似文章 >>
生活服務(wù)
分享 收藏 導(dǎo)長圖 關(guān)注 下載文章
綁定賬號成功
后續(xù)可登錄賬號暢享VIP特權(quán)!
如果VIP功能使用有故障,
可點(diǎn)擊這里聯(lián)系客服!

聯(lián)系客服