心得


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 

转载于:https://my.oschina.net/u/1046518/blog/142144

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值