案例:爬取使用搜狗根據(jù)指定詞條搜索到的頁面數(shù)據(jù)(例如爬取詞條為‘周杰倫'的頁面數(shù)據(jù))importurllib.request#1.指定urlurl='https://www.sogou.com/web?query=周杰倫''''2.發(fā)起請(qǐng)求:使用urlopen函數(shù)對(duì)指定的url發(fā)起請(qǐng)求,該函數(shù)返回一個(gè)響應(yīng)對(duì)象,urlopen代表打開url'''response=urllib.request.urlopen(url=url)#3.獲取響應(yīng)對(duì)象中的頁面數(shù)據(jù):r
系統(tǒng) 2019-09-27 17:53:11 1760
閱讀目錄一多態(tài)多態(tài)指的是一類事物有多種形態(tài)動(dòng)物有多種形態(tài):人,狗,豬importabcclassAnimal(metaclass=abc.ABCMeta):#同一類事物:動(dòng)物@abc.abstractmethoddeftalk(self):passclassPeople(Animal):#動(dòng)物的形態(tài)之一:人deftalk(self):print('sayhello')classDog(Animal):#動(dòng)物的形態(tài)之二:狗deftalk(self):prin
系統(tǒng) 2019-09-27 17:53:09 1760
文章目錄一、背景二、總結(jié)內(nèi)容2.1UDP通信服務(wù)端創(chuàng)建方式**DUP采用的是無連接的套接字**2.216進(jìn)制數(shù)據(jù)解析2.3文件創(chuàng)建與數(shù)據(jù)儲(chǔ)存分析一、背景最近在處理公司的一設(shè)備,內(nèi)置的DTU通過UDP向服務(wù)器發(fā)送16進(jìn)制的數(shù)據(jù)報(bào)文,由于第一次接觸此類數(shù)據(jù)解析方式,在這里做總結(jié)與反省,避免大家走彎路二、總結(jié)內(nèi)容2.1UDP通信服務(wù)端創(chuàng)建方式步驟創(chuàng)建UDP的socket通信方式。綁定具體的端口。設(shè)置端口復(fù)用等待(這一步可以省略)獲取數(shù)據(jù)。向客戶端發(fā)送數(shù)據(jù)。解析儲(chǔ)
系統(tǒng) 2019-09-27 17:53:08 1760
第一步:建立一個(gè)setup.py的文件,文件內(nèi)容如下:fromsetuptoolsimportsetup,find_packagessetup(name='',version='',packages=find_packages(),#必填author='',author_email='',url='',license='',description='',platforms='Windows',#需要安裝的依賴install_requires=[],#此項(xiàng)需
系統(tǒng) 2019-09-27 17:52:53 1760
最近在做游戲服務(wù)分層的時(shí)候,一直想把mysql的訪問獨(dú)立成一個(gè)單獨(dú)的服務(wù)DBGate,原因如下:請(qǐng)求收攏到DBGate,可以使DBGate變?yōu)闊o狀態(tài)的,方便橫向擴(kuò)展當(dāng)請(qǐng)求量或者存儲(chǔ)量變大時(shí),mysql需要做分庫分表,DBGate可以內(nèi)部直接處理,外界無感知通過restful限制對(duì)數(shù)據(jù)請(qǐng)求的形式,僅支持簡單的get/post/patch/put進(jìn)行增刪改查,并不支持復(fù)雜查詢。這個(gè)也是和游戲業(yè)務(wù)的特性有關(guān),如果網(wǎng)站等需要復(fù)雜查詢的業(yè)務(wù),對(duì)此并不適合DBGate
系統(tǒng) 2019-09-27 17:52:45 1760
知識(shí)匯總:1-Python語言里一切數(shù)據(jù)都是對(duì)象2-整數(shù):1-python2:int----long(長整數(shù))2-python3:中只有int沒有l(wèi)ong3-怎么查看類型---type(100)--有返回值--該類型---3-浮點(diǎn)數(shù)--小數(shù):type(3.0)------沒有double4-數(shù)字的運(yùn)算:1-加法+2-減法-3-乘法*4-除法/1-在python39/4==2.25肯定帶小數(shù)點(diǎn)等價(jià)python2-9//4==22-在python29/4==2
系統(tǒng) 2019-09-27 17:52:42 1760
運(yùn)行多進(jìn)程每個(gè)子進(jìn)程的內(nèi)存空間是互相隔離的進(jìn)程之間數(shù)據(jù)不能共享的互斥鎖但是進(jìn)程之間都是運(yùn)行在一個(gè)操作系統(tǒng)上,進(jìn)程之間數(shù)據(jù)不共享,但是共享同一套文件系統(tǒng),所以訪問同一個(gè)文件,或同一個(gè)打印終端,是可以的,而共享帶來的是競(jìng)爭,競(jìng)爭帶來的結(jié)果就是錯(cuò)亂#并發(fā)運(yùn)行,效率高,但競(jìng)爭同一打印終端,帶來了打印錯(cuò)亂frommultiprocessingimportProcessimporttimedeftask(name):print("%s1"%name)time.slee
系統(tǒng) 2019-09-27 17:52:42 1760
概述如今我也是使用Python寫代碼好多年了,但是我卻很少關(guān)心GIL的內(nèi)部機(jī)制,導(dǎo)致在寫Python多線程程序的時(shí)候。今天我們就來看看CPython的源代碼,探索一下GIL的源碼,了解為什么Python里要存在這個(gè)GIL,過程中我會(huì)給出一些示例來幫助大家更好的理解GIL。GIL概覽有如下代碼:staticPyThread_type_lockinterpreter_lock=0;/*ThisistheGIL*/這行代碼位于Python2.7源碼ceval.c
系統(tǒng) 2019-09-27 17:52:39 1760
前言剛開始開發(fā)Web的時(shí)候,沒太在意隔離虛擬環(huán)境,用了系統(tǒng)的那一套,Python2.7版本是系統(tǒng)自帶的,雖說明年就結(jié)束了,但是現(xiàn)在開發(fā)都會(huì)有一套3.x以上的環(huán)境,即使你開發(fā)不注意,你部署的時(shí)候總歸是要隔離出來的。1.方便隔離,不同環(huán)境編寫測(cè)試2.方便遷移,pipfreeze到出包文件依賴,隨后提交管理和遷移都很方便virtualenv前提是你有兩套PythonmikejingdeMacBook-Pro:~MKJ$whichpython/usr/bin/py
系統(tǒng) 2019-09-27 17:52:34 1760
mkvirtualenv-ppython3環(huán)境名創(chuàng)建虛擬環(huán)境rmvirtualenv環(huán)境名刪除環(huán)境進(jìn)入虛擬環(huán)境workon環(huán)境名(workon+tab可以出來所有環(huán)境)查看環(huán)境下所有包pip3list查看環(huán)境下安裝的包(不包括原生python包)pip3freeze依賴包文件生成pip3freeze>requirements.txt環(huán)境導(dǎo)入依賴包pip3install-rrequirements.txt普通安裝pip3install包名這是linux下的指
系統(tǒng) 2019-09-27 17:52:34 1760