Time of Update: 2016-06-10
大多數APP裡面返回的是json格式資料,或者一堆加密過的資料
Time of Update: 2016-06-10
Beautiful Soup使用時,一般可以通過指定對應的name和attrs去搜尋,特定的名字和屬性,以找到所需要的部分的html代碼。但是,有時候,會遇到,對於要處理的內容中,其name或attr的值,有多種可能,尤其是符合某一規律,此時,就無法寫成固定的值了。所以,就可以藉助Regex來解決此問題。比如, crifan對應的BeautifulSoup代碼如下:h1userSoup = soup.find(name="h1",
Time of Update: 2016-06-10
Fiddler,這個是所有軟體開發人員必備神器!這款工具不僅可以抓取PC上開發web時候的資料包,而且可以抓取移動端(Android,Iphone,WindowPhone等都可以)。第一步:下載神器Fiddler,下載連結:http://w.x.baidu.com/alading/anquan_soft_down_ub/10963下載完成之後,傻瓜式的安裝一下了!第二步:設定Fiddler開啟Fiddler, Tools-> Fiddler Options
Time of Update: 2016-06-10
安裝部署Scrapy在安裝Scrapy前首先需要確定的是已經安裝好了Python(目前Scrapy支援Python2.5,Python2.6和Python2.7)。官方文檔中介紹了三種方法進行安裝,我採用的是使用 easy_install
Time of Update: 2016-06-10
爬取網站時經常會遇到需要登入的問題,這是就需要用到類比登入的相關方法。python提供了強大的url庫,想做到這個並不難。這裡以登入學校教務系統為例,做一個簡單的例子。首先得明白cookie的作用,cookie是某些網站為了辨別使用者身份、進行session跟蹤而儲存在使用者本地終端上的資料。因此我們需要用Cookielib模組來保持網站的cookie。這個是要登陸的地址 http://202.115.80.153/ 和驗證碼地址 http://202.115.80.153/CheckCode.
Time of Update: 2016-06-10
網路爬蟲(Web Crawler, Spider)就是一個在網路上亂爬的機器人。當然它通常並不是一個實體的機器人,因為網路本身也是虛擬東西,所以這個“機器人”其實也就是一段程式,並且它也不是亂爬,而是有一定目的的,並且在爬行的時候會搜集一些資訊。例如 Google 就有一大堆爬蟲會在 Internet 上搜集網頁內容以及它們之間的連結等資訊;又比如一些別有用心的爬蟲會在 Internet 上搜集諸如 foo@bar.com 或者 foo [at] bar [dot] com
Time of Update: 2016-06-10
Python中,列表和元組是一種資料結構:序列,序列中的每個元素都被分配一個序號,元素的位置,第一原元素的位置為0,因此類推。序列是最基本的資料結構,列表和元組他們之間具有一定的區別,即列表可以修改,而元組則不能修改!如果要添加元素最好是用列表。1、 在python中,最基本的資料結構是序列,序列中每一個元素被分配一個序號,即元素的位置,稱為索引。索引從0開始,-1表示倒數第一個元素,-2表示倒數第二個元素,因此既可以是從前到後開始對元素進行訪問,也可以從後往前對元素進行訪問。2、
Time of Update: 2016-06-10
問題在平時工作中,遇到了這樣的錯誤:UnicodeDecodeError: 'ascii' codec can't decode byte想必大家也都碰到過,很常見 。於是決定對python的編碼做一個整理和學習。基礎知識在python2.x中,有兩種資料類型,unicode和str,這兩個都是basestring的子類>>> a = '中'>>> type(a)>>> isinstance(a,basestring)True>>> a = u'中'>>> type(a)>>>
Time of Update: 2016-06-10
廢話不多說了,直接給大家貼代碼了,代碼寫的不好還去各位大俠見諒。#-*-coding:utf-8-*- #1、字典dict = {'name': 'Zara', 'age': 7, 'class': 'First'}#字典轉為字串,返回: {'age': 7, 'name': 'Zara', 'class': 'First'}print type(str(dict)), str(dict)#字典可以轉為元組,返回:('age', 'name', 'class')print tuple(dict)
Time of Update: 2016-06-10
裝飾器(decorator)是一種進階Python文法。裝飾器可以對一個函數、方法或者類進行加工。在Python中,我們有多種方法對函數和類進行加工,比如在Python閉包中,我們見到函數對象作為某一個函數的返回結果。相對於其它方式,裝飾器文法簡單,代碼可讀性高。因此,裝飾器在Python項目中有廣泛的應用。這是在Python學習小組上介紹的內容,現學現賣、多練習是好的學習方式。第一步:最簡單的函數,準備附加額外功能# -*- coding:gbk -*-'''樣本1:
Time of Update: 2016-06-10
單星號形式(*args)用來傳遞非命名鍵可變參數列表。雙星號形式(**kwargs)用來傳遞索引值可變參數列表。下面的例子,傳遞了一個固定位置參數和兩個變長參數。def test_var_args(farg, *args): print "formal arg:", farg for arg in args: print "another arg:", argtest_var_args(1, "two", 3)結果如下:formal arg: 1another arg:
Time of Update: 2016-06-10
Python中的位元組碼用b'xxx'的形式表示。x可以用字元表示,也可以用ASCII編碼形式\xnn表示,nn從00-ff(十六進位)共256種字元。一、基本操作下面列舉一下位元組的基本操作,可以看出來它和字串還是非常相近的:In[40]: b = b"abcd\x64"In[41]: bOut[41]: b'abcdd'In[42]: type(b)Out[42]: bytesIn[43]: len(b)Out[43]: 5In[44]: b[4]Out[44]: 100 #
Time of Update: 2016-06-10
訪問者模式我覺得Visitor模式是在補修改已有程式結構前提下,通過添加額外的訪問者完成對代碼功能的拓展 為什麼這樣用?當你的類層次較多,在某層結構中增加新的方法,要是在基類上面添加或者變更,可能破壞原來的設計, 有相容問題,所以只在需要的類上面動態添加。python的例子這裡是個構建車的例子,每個組件都有一個accept的方法接受我上面說的所謂'訪問者',而這個訪問者 以參數的方式傳進來,但是其實他是一個含有一些功能的類的執行個體,它擁有很多個visit開頭的方法對應不同的組件。
Time of Update: 2016-06-10
一直以來被Linux的hostname和fqdn(Fully Qualified Domain Name)困惑了好久,今天專門抽時間把它們的使用細節弄清了。一、設定hostname/fqdn在Linux系統內設定hostname很簡單,如:$ hostname florian如果要設定fqdn的話,需要對/etc/hosts進行配置。$ cat /etc/hosts127.0.0.1 localhost192.168.1.1 florian.test.com florian
Time of Update: 2016-06-10
代碼也是在網上找的,效率挺不錯的,特別適合字典檔案的去重#coding=utf-8import sysdef open_txt(): #開啟TXT文本寫入數組try:xxx = file(sys.argv[1], 'r')for xxx_line in xxx.readlines():passlist.append(xxx_line)xxx.close()except:return 0def write_txt(): #開啟TXT文本寫入數組try:yyy = file(sys.argv[2],
Time of Update: 2016-06-10
用python加“驗證碼”為關鍵詞在baidu裡搜一下,可以找到很多關於驗證碼識別的文章。我大體看了一下,主要方法有幾類:一類是通過對圖片進行處理,然後利用字型檔特徵匹配的方法,一類是圖片處理後建立字元對應字典,還有一類是直接利用ocr模組進行識別。不管是用什麼方法,都需要首先對圖片進行處理,於是試著對下面的驗證碼進行分析。一、圖片處理這個驗證碼中主要的影響因素是中間的曲線,首先考慮去掉圖片中的曲線。考慮了兩種演算法:第一種是首先取到曲線頭的位置,即x=0時,黑點的位置。然後向後移動x的取值,觀
Time of Update: 2016-06-10
安裝pillow出現以下問題:ValueError: jpeg is required unless explicitly disabled using --disable-jpeg, aborting----------------------------------------Cleaning up...Command /usr/local/bin/python -c "import setuptools,
Time of Update: 2016-06-10
0x00 識別涉及技術驗證碼識別涉及很多方面的內容。入手難度大,但是入手後,可拓展性又非常廣泛,可玩性極強,成就感也很足。驗證碼影像處理驗證碼Image Recognition技術主要是操作圖片內的像素點,通過對圖片的像素點進行一系列的操作,最後輸出驗證碼映像內的每個字元的文本矩陣。讀取圖片圖片降噪圖片切割映像文本輸出驗證字元識別驗證碼內的字元識別主要以機器學習的分類演算法來完成,目前我所利用的字元識別的演算法為KNN(K鄰近演算法)和SVM (支援向量機演算法),後面我
Time of Update: 2016-06-10
廢話不多說了,直接給大家貼代碼了。import urllibimport urllib2import cookielibdef getImg(picurl):'''request for random_code picture and cookie '''pic = opener.open(picurl).read()with open('./verifyImg.jpg','wb') as emptyPic:emptyPic.write(pic)def verifyImg(picpath):''
Time of Update: 2016-06-10
本文執行個體講解的是一般的hadoop入門程式“WordCount”,就是首先寫一個map程式用來將輸入的字串分割成單個的單詞,然後reduce這些單個的單詞,相同的單詞就對其進行計數,不同的單詞分別輸出,結果輸出每一個單詞出現的頻數。 注意:關於資料的輸入輸出是通過sys.stdin(系統標準輸入)和sys.stdout(系統標準輸出)來控制資料的讀入與輸出。所有的指令碼執行之前都需要修改許可權,否則沒有執行許可權,例如下面的指令碼建立之前使用“chmod +x