心得

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

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

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

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

4.css样式规则 https://developers.google.com/speed/docs/best-practices/rendering?hl=zh-CN


5.urllib2 只支持 HTTP 的GET和POST方法,如果要使用 HTTPPUT和DELETE,只能使用比较低层的 httplib 库。虽然如此,我们还是能通过下面的方式,使 urllib2 能够发出PUT或DELETE的请求.貌似urllib2不支持缓存

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版


7.

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 

你可能感兴趣的:(心得)