Scrapy和pyspider框架浅谈

自己现在也算是小小抓取工程师了,在公司也在撸自己的框架,在这之前也有使用和了解过python语言实现的最著名的两个框架,先来简单说一说。 scrapy...

pyenv的使用

pyenv是一个python的版本管理器,同时还具有虚拟环境管理的功能,对于需要安装或部署不同版本在一台机器的情况下,pyenv非常合适。对于常用的centos6.5来说默认是python2.6环境,yum什么的还依赖2.6版本,所以使用pyenv非常合适。自己的开发机也可以安装各种版本的python。 安装 注意提前需要装一些编译python需要的 rpm系 yum install zlib-devel bzip2 bzip2-devel readline-devel sqlite...

python3中filter返回值的判断问题

最早接触python3来说,最明显的变化就是print方法了,另一个非常大的变化 是返回值生成器类型的使用。 在python2中,很多返回list类型的方法,在python3中都返回生成器对象, 比如最著名的range(),在python3中返回生成器,即python2中的xrange()。 而很多其他方法也是如此,比如list相关的map,reduce,filter方法, 还有dict操作的keys(),items()等,都是由原来的返回list类型, 转而返回生成器类型。...

使用Django+Vue组合开发Restful风格的家用收纳系统

为了进一步学习web开发相关内容,自己想了个需求,就开始干了。 github项目链接 构架采用流行的RESTful api风格后端加响应式前端组合,虽然都还不熟悉,但是硬着头皮开始。 经过一番调研,Django Rest framework(drf)算是比较广泛的restful库了,看了看文档,比较清晰,在序列化方面有一些便捷的方法。 后端验证方面,使用了drf文档里推荐的oauth toolkit库来组合。...

flask一次客户端请求的过程

按照Werkzeug的示例,继承封装了标准库http中的HTTPServer和BaseHTTPRequestHandler。在客户端发出请求后,会触发到Handler类中的handle()方法,然后是一连串的handle_one_request()-->run_wsgi()方法,run_wsgi在werkzeug中重写了会收集环境信息environ,并定义了write,start_response,execute内置方法,然后会执行execute方法,这里app(environ,...

正则表达式环视的理解

最近看完了《精通正则表达式》的前面和语言无关的几章,也正好碰到了一个知乎问题,所以就强行答了一下。如何理解先行断言 把我的回答再总结一下。 (?=)在《精通正则表达式》书上叫“环视”,具体上说叫“顺序肯定环视”。环视不占有字符,只作为判断的条件进行匹配。 1,具体如下这个例子 ^(?=.*\d)(?=.*[A-Z])\w{8,15}$ 先来刨去两个(?=)环视条件 ^\w{8,15}$...

修饰器及flask的route修饰器

python的修饰器是python的一个特色,也是比较难理解的地方,不过运用得当的话会非常优雅和简洁。 通常的两种修饰器形式是无参数的双层结构,即 def decorator(f): def wrapper(*args, **kwargs): # do some thing before f return f(*args, **kwargs) return wrapper 这样,即定义了一个无参的修饰器,使用时在对应函数的前面加上@decorator即可。 @decorator def...