心得

1.手機上收藏是pc端的40倍

2.bigpipe  http://www.searchtb.com/2011/04/an-introduction-to-bigpipe.html css

3.延遲加載圖片http://www.54chen.com/architecture/rose-open-source-portal-framework.html?spm=0.0.0.0.kInmHJ html

http://www.cnblogs.com/BearsTaR/archive/2010/06/18/facebook_html_chunk.html?spm=0.0.0.0.kInmHJ python

4.css樣式規則 https://developers.google.com/speed/docs/best-practices/rendering?hl=zh-CN git


5.urllib2 只支持 HTTP 的GET和POST方法,若是要使用 HTTPPUT和DELETE,只能使用比較低層的 httplib 庫。雖然如此,咱們仍是能經過下面的方式,使 urllib2 可以發出PUT或DELETE的請求.貌似urllib2不支持緩存 vim

6.history|awk'{a[$2]++}END{for(i in a){print a[i] " " i}}'|sort-rn |head 緩存

02 2141 git
03 967 vagrant
04 702cd
05 701 gvim
06 618ssh
07 552 fab
08 444ls
09 360 vim
10 318rm
11 223mv


6.Tornado推出2.0版 app


7. ssh

Debug Log

使用 urllib2 時,能夠經過下面的方法把 debug Log 打開,這樣收發包的內容就會在屏幕上打印出來,方便調試,有時能夠省去抓包的工做 網站

import urllib2 httpHandler = urllib2.HTTPHandler(debuglevel=1) httpsHandler = urllib2.HTTPSHandler(debuglevel=1) opener = urllib2.build_opener(httpHandler, httpsHandler) urllib2.install_opener(opener) response = urllib2.urlopen('http://www.google.com') 這個只是針對我登錄的網站寫的識別代碼,使用的PIL庫。貼出供你參考。對於新浪那些驗證碼估計沒那麼簡單能破的。個人驗證碼識別就是簡單的處理下圖片,
把圖片變成黑白,而後切割與庫中模板進行異或操做,選取與庫圖片差異最小的做爲識別結果。(驗證碼識別思路:能夠先把驗證碼下載本地,用PS處理
下,RGB單通道、對比度、亮度調整等)
 代碼:
 
 import Image
 import ImageEnhance
 import os
 
 result=[]
 def verfiy_Identification():
 #下載驗證碼
     url = 'http://xx.xx.com/verify'
     file("./Initial/1.bmp","wb").write(urllib.urlopen(url).read())
 
 #庫圖片字典
     Font_Pic = {}
 #定義初始圖片變量
     Init_Pic= Image.open("./Initial/1.bmp")
     Init_Pic_Cov=Init_Pic.convert('1')
     Init_Pic_Cov_Cro_=[]
 
     s = 4
     t = 5
     w = 13
     h = 16 
 #切割圖片
     for a in range(4):
         Init_Pic_Cov_Cro = Init_Pic_Cov.crop((s+9*a,t,w+9*a,h))
         Init_Pic_Cov_Cro_.append(Init_Pic_Cov_Cro)
         #Init_Pic_Cov_Cro_[a].save("./Initial/"+str(a)+".png")
         for b in range(10):
             Font_Pic=Image.open("./font/"+str(b)+".bmp")             value=[]             for y in range(11):                 for x in range(9):                     Font_Pic.putpixel((x,y), Init_Pic_Cov_Cro_[a].getpixel((x,y)) ^ Font_Pic.getpixel((x,y)))        #統計白色點數目                     value = list(Font_Pic.getdata())             result.append(value.count(255))             #print value.count(255),         #print "\n" #--------------------------------- #尋找列表最小值,返回其位置 #-------------------------------- def getMinIndex(my_list):     min = my_list[0]     for i in my_list:         if i < min:             min = i     return my_list.index(min) if __name__=="__main__":     verfiy_Identification()     name1=getMinIndex(result[0:10])     name2=getMinIndex(result[10:20])     name3=getMinIndex(result[20:30])     name4=getMinIndex(result[30:40])     #print name1,name2,name3,name4,     newname=str(name1)+str(name2)+str(name3)+str(name4)     os.rename("./Initial/1.bmp","./Initial/"+newname+".bmp")     print newname 
相關文章
相關標籤/搜索