国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > Python > 正文

python爬取網(wǎng)站數(shù)據(jù)保存使用的方法

2020-02-23 04:57:02
字體:
供稿:網(wǎng)友

編碼問題
因為涉及到中文,所以必然地涉及到了編碼的問題,這一次借這個機會算是徹底搞清楚了。
問題要從文字的編碼講起。原本的英文編碼只有0~255,剛好是8位1個字節(jié)。為了表示各種不同的語言,自然要進行擴充。中文的話有GB系列。可能還聽說過Unicode和UTF-8,那么,它們之間是什么關系呢?
Unicode是一種編碼方案,又稱萬國碼,可見其包含之廣。但是具體存儲到計算機上,并不用這種編碼,可以說它起著一個中間人的作用。你可以再把Unicode編碼(encode)為UTF-8,或者GB,再存儲到計算機上。UTF-8或者GB也可以進行解碼(decode)還原為Unicode。
在python中Unicode是一類對象,表現(xiàn)為以u打頭的,比如u'中文',而string又是一類對象,是在具體編碼方式下的實際存在計算機上的字符串。比如utf-8編碼下的'中文'和gbk編碼下的'中文',并不相同??梢钥慈缦麓a:

代碼如下:
>>> str=u'中文'
>>> str1=str.encode('utf8')
>>> str2=str.encode('gbk')
>>> print repr(str)
u'/u4e2d/u6587'
>>> print repr(str1)
'/xe4/xb8/xad/xe6/x96/x87'
>>> print repr(str2)
'/xd6/xd0/xce/xc4'

可以看到,其實存儲在計算機中的只是這樣的編碼,而不是一個一個的漢字,在print的時候要知道當時是用的什么樣的編碼方式,才能正確的print出來。有一個說法提得很好,python中的Unicode才是真正的字符串,而string是字節(jié)串
文件編碼
既然有不同的編碼,那么如果在代碼文件中直接寫string的話,那么它到底是哪一種編碼呢?這個就是由文件的編碼所決定的。文件總是以一定的編碼方式保存的。而python文件可以寫上coding的聲明語句,用來說明這個文件是用什么編碼方式保存的。如果聲明的編碼方式和實際保存的編碼方式不一致就會出現(xiàn)異常。可以見下面例子: 以utf-8保存的文件聲明為gbk

代碼如下:
#coding:gbk
str=u'漢'
str1=str.encode('utf8')
str2=str.encode('gbk')
str3='漢'
print repr(str)
print repr(str1)
print repr(str2)
print repr(str3)

提示錯誤 File "test.py", line 1 SyntaxError: Non-ASCII character '/xe6' in file test.py on line 1, but no encodi ng declared; see http://www.python.org/peps/pep-0263.html for details 改為

代碼如下:
#coding:utf8
str=u'漢'
str1=str.encode('utf8')
str2=str.encode('gbk')
str3='漢'
print repr(str)
print repr(str1)
print repr(str2)
print repr(str3)

輸出正常結(jié)果 u'/u6c49' '/xe6/xb1/x89' '/xba/xba' '/xe6/xb1/x89'

基本方法
其實用python爬取網(wǎng)頁很簡單,只有簡單的幾句話

代碼如下:
import urllib2
page=urllib2.urlopen('url').read()

這樣就可以獲得到頁面的內(nèi)容。接下來再用正則匹配去匹配所需要的內(nèi)容就行了。

發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 屏东县| 洛川县| 苏尼特右旗| 青田县| 新民市| 安新县| 岳西县| 大城县| 蛟河市| 襄樊市| 德阳市| 同心县| 林甸县| 武汉市| 蓬安县| 酒泉市| 肇州县| 庆阳市| 公安县| 厦门市| 绥芬河市| 上杭县| 兰坪| 金阳县| 禹城市| 陵川县| 商城县| 清水河县| 湟中县| 明水县| 宣城市| 微山县| 平乐县| 宁河县| 余姚市| 广昌县| 中西区| 盱眙县| 甘孜县| 秦皇岛市| 商河县|