早聽說用python做網(wǎng)絡(luò)爬蟲非常方便,正好這幾天單位也有這樣的需求,需要登陸XX網(wǎng)站下載部分文檔,于是自己親身試驗(yàn)了一番,效果還不錯(cuò)。本例所登錄的某網(wǎng)站需要提供用戶名,密碼和驗(yàn)證碼,在此使用了python的urllib2直接登錄網(wǎng)站并處理網(wǎng)站的Cookie。Cookie的工作原理:Cookie由服務(wù)端生成,然后發(fā)送給瀏覽器,瀏覽器會(huì)將Cookie保存在某個(gè)目錄下的文本文件中。在下次請求同一網(wǎng)站時(shí),會(huì)發(fā)送該Cookie給服務(wù)器,這樣服務(wù)器就知道該用戶是否合
系統(tǒng) 2019-09-27 17:53:11 1752
首先,你得下載SocksiPy這個(gè).解壓出來之后里面會(huì)有一個(gè)socks.py文件.然后你可以把這個(gè)文件復(fù)制到python安裝目錄里面的Lib\site-packages中.或者把這個(gè)文件復(fù)制到程序所在的目錄中.然后就可以再程序中使用socket代理來編寫程序了.下面是示例代碼importsocksimportsocketsocks.setdefaultproxy(socks.PROXY_TYPE_SOCKS5,"127.0.0.1",8088)socket
系統(tǒng) 2019-09-27 17:53:08 1752
1.背景看到這里提到了pprint。打算去試試.2.pprint簡介找到在線官網(wǎng)解釋:pprint―Dataprettyprinter就是一個(gè),方便大家打印一些,相對復(fù)雜的變量的好東西。3.使用pprint去寫點(diǎn)代碼試試。代碼:復(fù)制代碼代碼如下:#-------------------------------------------------------------------------------#Name:【記錄】折騰Python中的pprint#
系統(tǒng) 2019-09-27 17:52:55 1752
#使用StandardScaler進(jìn)行數(shù)據(jù)預(yù)處理importnumpyimportmatplotlib.pyplotaspltfromsklearn.datasetsimportmake_blobsX,y=make_blobs(n_samples=40,centers=2,random_state=50,cluster_std=2)plt.scatter(X[:,0],X[:,1],c=y,cmap=plt.cm.cool)plt.show()#導(dǎo)入Sta
系統(tǒng) 2019-09-27 17:52:41 1752
將做工程過程中重要的一些代碼段收藏起來,下面代碼段是關(guān)于python檢測RabbitMQ的狀態(tài)是否正常的代碼。importsocketdefcheck_aliveness(ip,port):sk=socket.socket(socket.AF_INET,socket.SOCK_STREAM)sk.settimeout(1)try:sk.connect((ip,port))print'serviceisOK!'returnTrueexceptExceptio
系統(tǒng) 2019-09-27 17:52:41 1752
Python命令行之旅:使用argparse實(shí)現(xiàn)git命令作者:HelloGitHub-ProdesireHelloGitHub的《講解開源項(xiàng)目》系列,項(xiàng)目地址:https://github.com/HelloGitHub-Team/Article前言在前面三篇介紹argparse的文章中,我們?nèi)媪私饬薬rgparse的能力,相信不少小伙伴們都已經(jīng)摩拳擦掌,想要打造一個(gè)屬于自己的命令行工具。本文將以我們?nèi)粘9ぷ髦凶畛R姷膅it命令為例,講解如何使用arg
系統(tǒng) 2019-09-27 17:52:36 1752
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 1752
Python語言與Perl,C和Java等語言有許多相似之處,也有一定的差異性,以下是Python語言獲取文件后綴名和文件名的方法:#Python獲取文件后綴名的方法importos.pathdeffile_extension(path):returnos.path.splitext(path)[1]printfile_extension('/py/a.py')輸出:.py#Python獲取目錄和文件名importos.pathdeffile_extens
系統(tǒng) 2019-09-27 17:52:22 1752
yield的功能類似于return,但是不同之處在于它返回的是生成器。生成器生成器是通過一個(gè)或多個(gè)yield表達(dá)式構(gòu)成的函數(shù),每一個(gè)生成器都是一個(gè)迭代器(但是迭代器不一定是生成器)。如果一個(gè)函數(shù)包含yield關(guān)鍵字,這個(gè)函數(shù)就會(huì)變?yōu)橐粋€(gè)生成器。生成器并不會(huì)一次返回所有結(jié)果,而是每次遇到y(tǒng)ield關(guān)鍵字后返回相應(yīng)結(jié)果,并保留函數(shù)當(dāng)前的運(yùn)行狀態(tài),等待下一次的調(diào)用。由于生成器也是一個(gè)迭代器,那么它就應(yīng)該支持next方法來獲取下一個(gè)值。基本操作#通過`yield`
系統(tǒng) 2019-09-27 17:52:18 1752
原型模式,也是用于創(chuàng)建對象時(shí)的一種設(shè)計(jì)方法。主要應(yīng)用場景是:每次初始化某個(gè)對象時(shí),需要傳遞大量的參數(shù),很不方便,此時(shí),可以使用原型模式,在已經(jīng)創(chuàng)建并初始化的對象基礎(chǔ)上,可以快速而又方便創(chuàng)建新的不同對象。主要原理:使用深拷貝,復(fù)制一個(gè)已創(chuàng)建的對象,然后使用__dict__.update()方法更新已創(chuàng)建對象中的參數(shù)值方式創(chuàng)建新對象。背景知識(shí):在python中的類中,__dict__是一個(gè)字典,保存了所有該類中的變量,函數(shù)等參數(shù)。#coding=utf-8im
系統(tǒng) 2019-09-27 17:52:15 1752