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
使用 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