易截截图软件、单文件、免安装、纯绿色、仅160KB

话说Python(七)从Go...ogle说起

今天一上课,大牛老师就给大家出了一道题:
编程:请从字符串“goOoOogle”中找出以“O”开头,并以“O”结束的部分。
“这还不简单,看我的”小菜不一会儿就给出了答案:
>>> s="goOoOogle"
>>> s.find("O")
2
>>> s.find("O",3)
4
>>> s[2:5]
'OoO'
>>>

 
“小菜啊,你咋这么傻呢!”小白不禁在心里叹息,“老师出这道题不是明摆着考我们正则表达式嘛!”
果然不出小白的预料,大牛老师又出了一道题:
请从“goOoOogle”中再找出连续的“o”,不分大小写。
“不就是循环判断嘛,继续find”小菜又开始了自己的算法之旅。
“小白,你来回答一下”大牛看到小白好像已经完成,便让他回答一下。
“这还不简单吗?用正则匹配一下不就行了”小白摸了摸后脑勺,“至于程序嘛——还没写,嘿嘿。”
先看看我们的“加强版”爬虫:
import chardet,urllib.request,urllib.parse,re
from sparrow.http.response import Response
class Crawler(object):
def __init__(self,reqQueue=None,resQueue=None): #两个队列,一个用于提取网页请求,一个存放抓取的结果
self.reqQueue=reqQueue
self.resQueue=resQueue
def getData(self,request): #获得网页数据和服务器返回的编码
response=urllib.request.urlopen(request)
info=Response(response)
encoding=info.charset
data=response.read()
return (encoding,data)
def getLinks(self,url,content): #解析网页内容,获得所有链接
rule_link=re.compile(r"(?i)<a\s+href=(?P<link>.+?)[\s>]") #正则表达式
links=rule_link.findall(content)
norLinks=[]
for i,link in enumerate(links): #将不完全的链接(通常为站内链接)补充完全
link=link.strip("\"\'") #过滤引号
us=urllib.parse.urlsplit(link)
if(us.scheme==''):
link=urllib.parse.urljoin(url,link)
norLinks.append(link)
return norLinks

def getEnco


相关文档:

python enumerate用法

python cookbook  
Recipe 2.5. Counting Lines in a File

     今日发现一个新函数
enumerate
。一般情况下对一个列表或数组既要遍历索引又要遍历元素时,会这样写:

for
i
in
range
(0
,
len
(list
)):

 &n ......

关于Python中函数重载问题的思考

全文来自:IT工程技术网 http://www.systhinker.com/html/91/n-11591.html
昨天和飞天舞者讨论静态类型语言和动态类型语言优劣比较的时候,说到Python没有重载机制的问题。
后来想想挺有意思的,把思考的经过记录下来,欢迎拍砖。
重载(overload)和覆盖(override),在C++,Java,C#等静态类型语言类型语言中,这两个 ......

分享一个简单的python模板引擎


#coding:utf-
8
  
__author__="sdm"
  
__author_email='sdmzhu3@gmail.com'
  
  
__date__ ="$2009-8-25 21:04:13$"
  
  
''
'  
pytpl 类似
php的模板类  
  
&nbs ......

python中eval, exec, execfile,和compile


eval(str [,globals [,locals ]])函数将字符串str当成有效Python表达式来求值,并返回计算结果。
同样地, exec语句将字符串str当成有效Python代码来执行.提供给exec的代码的名称空间和exec语句的名称空间相同.
最后,execfile(filename [,globals [,locals ]])函数可以用来执行一个文件,看下面的例子:
>>> ev ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号