早聽說用python做網絡爬蟲非常方便,正好這幾天單位也有這樣的需求,需要登陸XX網站下載部分文檔,于是自己親身試驗了一番,效果還不錯。本例所登錄的某網站需要提供用戶名,密碼和驗證碼,在此使用了python的urllib2直接登錄網站并處理網站的Cookie。Cookie的工作原理:Cookie由服務端生成,然后發送給瀏覽器,瀏覽器會將Cookie保存在某個目錄下的文本文件中。在下次請求同一網站時,會發送該Cookie給服務器,這樣服務器就知道該用戶是否合
系統 2019-09-27 17:53:11 1752
首先,你得下載SocksiPy這個.解壓出來之后里面會有一個socks.py文件.然后你可以把這個文件復制到python安裝目錄里面的Lib\site-packages中.或者把這個文件復制到程序所在的目錄中.然后就可以再程序中使用socket代理來編寫程序了.下面是示例代碼importsocksimportsocketsocks.setdefaultproxy(socks.PROXY_TYPE_SOCKS5,"127.0.0.1",8088)socket
系統 2019-09-27 17:53:08 1752
1.背景看到這里提到了pprint。打算去試試.2.pprint簡介找到在線官網解釋:pprint―Dataprettyprinter就是一個,方便大家打印一些,相對復雜的變量的好東西。3.使用pprint去寫點代碼試試。代碼:復制代碼代碼如下:#-------------------------------------------------------------------------------#Name:【記錄】折騰Python中的pprint#
系統 2019-09-27 17:52:55 1752
#使用StandardScaler進行數據預處理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()#導入Sta
系統 2019-09-27 17:52:41 1752
Python命令行之旅:使用argparse實現git命令作者:HelloGitHub-ProdesireHelloGitHub的《講解開源項目》系列,項目地址:https://github.com/HelloGitHub-Team/Article前言在前面三篇介紹argparse的文章中,我們全面了解了argparse的能力,相信不少小伙伴們都已經摩拳擦掌,想要打造一個屬于自己的命令行工具。本文將以我們日常工作中最常見的git命令為例,講解如何使用arg
系統 2019-09-27 17:52:36 1752
mkvirtualenv-ppython3環境名創建虛擬環境rmvirtualenv環境名刪除環境進入虛擬環境workon環境名(workon+tab可以出來所有環境)查看環境下所有包pip3list查看環境下安裝的包(不包括原生python包)pip3freeze依賴包文件生成pip3freeze>requirements.txt環境導入依賴包pip3install-rrequirements.txt普通安裝pip3install包名這是linux下的指
系統 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
系統 2019-09-27 17:52:22 1752
yield的功能類似于return,但是不同之處在于它返回的是生成器。生成器生成器是通過一個或多個yield表達式構成的函數,每一個生成器都是一個迭代器(但是迭代器不一定是生成器)。如果一個函數包含yield關鍵字,這個函數就會變為一個生成器。生成器并不會一次返回所有結果,而是每次遇到yield關鍵字后返回相應結果,并保留函數當前的運行狀態,等待下一次的調用。由于生成器也是一個迭代器,那么它就應該支持next方法來獲取下一個值。基本操作#通過`yield`
系統 2019-09-27 17:52:18 1752
原型模式,也是用于創建對象時的一種設計方法。主要應用場景是:每次初始化某個對象時,需要傳遞大量的參數,很不方便,此時,可以使用原型模式,在已經創建并初始化的對象基礎上,可以快速而又方便創建新的不同對象。主要原理:使用深拷貝,復制一個已創建的對象,然后使用__dict__.update()方法更新已創建對象中的參數值方式創建新對象。背景知識:在python中的類中,__dict__是一個字典,保存了所有該類中的變量,函數等參數。#coding=utf-8im
系統 2019-09-27 17:52:15 1752
轉自:https://blog.csdn.net/yilovexing/article/details/80577510在Python中,*和**具有語法多義性,具體來說是有四類用法。1.算數運算*代表乘法**代表乘方>>>2*510>>>2**5322.函數形參*args和**kwargs主要用于函數定義。你可以將不定數量的參數傳遞給一個函數。不定的意思是:預先并不知道,函數使用者會傳遞多少個參數給你,所以在這個場景下使用這兩個關鍵字。其實并不是必須寫成
系統 2019-09-27 17:51:52 1752