Fabric自动化部署

写好代码后最烦的就是部署了,要么是用git先在本地push,再到服务器pull,重启服务;要么用scp把本地打包扔到服务器,再重启服务。都是免不了要两边操作。

然而,用Fabric写一个脚本,这些繁琐重复的工作一键就可以搞定。简单的说,Fabric就是一个可以在本地和远程执行命令的工具,通过一些简......

Flask的url_for重定向问题和相应源码分析

在使用Nginx作为反向代理服务器,反代Flask应用时,url_for重定向老是出问题,先是找不到端口,然后又是将https重定向到了http。一番周折后虽然在网上找到了解决方法,但问题到底出在哪里我始终不太明白,这次索性点开了源码来研究了一下。

url_for函数源码分析

定位到flask......

普通反爬虫机制的应对策略

爬虫与反爬虫,这相爱相杀的一对,简直可以写出一部壮观的斗争史。而在大数据时代,数据就是金钱,很多企业都为自己的网站运用了反爬虫机制,防止网页上的数据被爬虫爬走。然而,如果反爬机制过于严格,可能会误伤到真正的用户请求;如果既要和爬虫死磕,又要保证很低的误伤率,那么又会加大研发的成本。

简单低级的爬虫......

Flask + Gunicorn + Nginx 部署

WSGI协议

Web框架致力于如何生成HTML代码,而Web服务器用于处理和响应HTTP请求。Web框架和Web服务器之间的通信,需要一套双方都遵守的接口协议。WSGI协议就是用来统一这两者的接口的。

WSGI容器——Gunicorn

常用的WSGI容器有Gunicorn和uWSGI,但Gu......

python字符编码

在用python处理字符时,最烦的就是遇到下面两种错误:

UnicodeDecodeError: 'ascii' codec can't decode byte 0xb9 in position 0: ordinal not in range(128)

UnicodeEncodeError......