用Python實現(xiàn)常規(guī)的靜態(tài)網(wǎng)頁抓取時,往往是用urllib2來獲取整個HTML頁面,然后從HTML文件中逐字查找對應的關鍵字。如下所示:復制代碼代碼如下:importurllib2url="http://mm.taobao.com/json/request_top_list.htm?type=0&page=1"up=urllib2.urlopen(url)#打開目標頁面,存入變量upcont=up.read()#從up中讀入該HTML文件key1='ke
系統(tǒng) 2019-09-27 17:53:24 1961
Python標準庫中有很多實用的工具類,但是在具體使用時,標準庫文檔上對使用細節(jié)描述的并不清楚,比如urllib2這個HTTP客戶端庫。這里總結(jié)了一些urllib2庫的使用細節(jié)。1Proxy的設置urllib2默認會使用環(huán)境變量http_proxy來設置HTTPProxy。如果想在程序中明確控制Proxy,而不受環(huán)境變量的影響,可以使用下面的方式復制代碼代碼如下:importurllib2enable_proxy=Trueproxy_handler=url
系統(tǒng) 2019-09-27 17:53:21 1961
在前面的文章《python小歡喜(六)動畫(1)pygame的安裝與初步使用》中介紹了如何安裝pygame。接下來用pygame開發(fā)一個小游戲。游戲界面如下:在游戲窗口中有一個運動的足球,碰到邊界或擋板會反彈,玩家通過鼠標的移動,可以拖動擋板左右移動。足球如果碰到窗口下邊界,則玩家的生命值減1,如果足球被擋板彈回,則得分數(shù)加1。python代碼如下:ballGame.py該代碼改編自BrysonPayne《TeachYourKidstoCode》第10章的
系統(tǒng) 2019-09-27 17:53:04 1961
1Python開發(fā)環(huán)境搭建1.1Python版本介紹Python目前官方運營維護的版本分為2.x版本和3.x版本。2.x版本相對來說,穩(wěn)定性更高,兼容的主流第三方擴展庫更多,商用開發(fā)首選;3.x架構(gòu)設計更完善,性能更好,一些發(fā)展前端的第三方擴展庫以3.x版本首選兼容和維護。因為2.x版本和3.x版本存在架構(gòu)上的差異,所以互不兼容,在開發(fā)選擇版本時需要注意。目前2.x版本的最新版本是2.7.14;3.x版本的最新版本是3.6.3。1.2Python下載與安裝
系統(tǒng) 2019-09-27 17:52:53 1961
Python適配器模式,代碼,思考等#-*-coding:utf-8-*-#author:baoshanclassComputer:def__init__(self,name):self.name=namedef__str__(self):return'the{}computer'.format(self.name)defexecute(self):return'executesaprogram'classSynthesizer:def__init__(s
系統(tǒng) 2019-09-27 17:52:07 1961
功能:為已存在的函數(shù)或?qū)ο筇砑宇~外的功能原則:不改變源代碼為其添加功能不改變函數(shù)的調(diào)用方式方法:裝飾器=高階函數(shù)+嵌套函數(shù)(高階函數(shù):一個函數(shù)可以作為參數(shù)傳遞給另外一個函數(shù),或者,一個函數(shù)的返回值是一個函數(shù),即函數(shù)的入口地址)函數(shù)名作為參數(shù)傳遞給裝飾器(@decorator_name)裝飾函數(shù)返回函數(shù)名(函數(shù)地址)注意:默認情況下,裝飾器會修改名字和文檔說明,但是可以使用functools中的@wraps()解決。@wraps接受一個函數(shù)來進行裝飾,并加入
系統(tǒng) 2019-09-27 17:51:46 1961
如下所示:importlogging#創(chuàng)建一個loggerlogger=logging.getLogger('mylogger')logger.setLevel(logging.DEBUG)#創(chuàng)建一個handler,用于寫入日志文件fh=logging.FileHandler('test.log')fh.setLevel(logging.DEBUG)#再創(chuàng)建一個handler,用于輸出到控制臺ch=logging.StreamHandler()ch.set
系統(tǒng) 2019-09-27 17:51:25 1961
感覺這種理解有問題,舉個例子來說。classDog(object):name='dog'definit(self):self.age=18d1=Dog()d2=Dog()這里有兩個實例d1,d2吧。d1.name#輸出dogd2.name#輸出dogd1.name='abc'd1.name#輸出abcd2.name#輸出dogDog.name#輸出dog原因是d1.name輸出dog不是因為這個實例共享了類屬性,而是因為這個實例沒有dog屬性,所以pyth
系統(tǒng) 2019-09-27 17:51:12 1961
一、寫在前面前幾天在微信上看到這樣一篇文章,鏈接為:https://mp.weixin.qq.com/s/rl6Sgv3uk_IpoFAx6cWa8w,在這篇文章中,有這樣一段話,吸引了我的注意:在Linux中l(wèi)s是一個使用頻率非常高的命令了,可選的參數(shù)也有很多,算是一條不得不掌握的命令。Python作為一門簡單易學的語言,被很多人認為是不需要認真學的,或者只是隨便調(diào)個庫就行了,那可就真是小瞧Python了。那這次我就要試著用Python來實現(xiàn)一下Linu
系統(tǒng) 2019-09-27 17:49:51 1961
接觸Python以來,看到類里的函數(shù)要帶個self參數(shù),一直搞不懂啥麻子原因。晚上特別針對Python的self查了一下,理理。Python要self的理由Python的類的方法和普通的函數(shù)有一個很明顯的區(qū)別,在類的方法必須有個額外的第一個參數(shù)(self),但在調(diào)用這個方法的時候不必為這個參數(shù)賦值(顯勝于隱的引發(fā))。Python的類的方法的這個特別的參數(shù)指代的是對象本身,而按照Python的慣例,它用self來表示。(當然我們也可以用其他任何名稱來代替,只
系統(tǒng) 2019-09-27 17:49:43 1961