摘要: 我们就来看看Python3 基于asyncio的新闻爬虫,我们如何去高效地实现它。 Python3.5开始,加入了新的语法,async和await这两个关键字,asyncio也成了标准库,这对于我们写异步IO的程序来说就是如虎添翼,让我们轻而易举的实现一个定向抓取新闻的异步爬虫。 阅读全文
posted @ 2019-01-28 14:21 阿米扎 阅读(2060) 评论(0) 推荐(0) 编辑
摘要: Sanic是异步处理的框架,运用Sanic可以开发快速异步响应的web程序。想必大家看到这个都会比较期待和兴奋。 那么如何使用Sanic来实现快速响应呢?我们先来看一看Sanic的基本介绍。 Sanic类似Flask、只支持Python 3.5+ 版本的web 服务器,运行速度更快。在类似Flask 阅读全文
posted @ 2019-01-28 11:56 阿米扎 阅读(1975) 评论(0) 推荐(0) 编辑
摘要: 因为Ubuntu官方的源地址不在国内,所以在国内的访问速度非常慢,比如:我们要下载或是更新软件那速度比蜗牛还慢。所以,我们需要改成国内的镜像服务器,这样,我们在下载或更新软件的时候就会很快了。 阅读全文
posted @ 2019-01-28 11:24 阿米扎 阅读(14945) 评论(0) 推荐(0) 编辑
摘要: 在我们平时写需求的时候,如果没有了解到以下知识点,可能会出现这样的问题,掉进坑里面,甚至很难找到问题的根源。下面我们来看看使用可变默认参数(Mutable default arguments)时会出现什么诡异的情况。 你可能写了以下函数,它有一个默认参数是一个list: def append_to( 阅读全文
posted @ 2019-01-28 11:06 阿米扎 阅读(1425) 评论(0) 推荐(0) 编辑
摘要: 利用字节位操作如何判断一个整数的二进制是否含有至少两个连续的1 的方法有多种,大家第一反应应该想到的是以下的第一种方法。 方法一:从头到尾遍历一遍每一位即可找出是否有连续的1存在 这个方法是最普遍的、第一感觉就能想到的方法,下面我们看一下它的具体实现: Python代码: 上面的实现中,对于整数n先 阅读全文
posted @ 2019-01-28 10:38 阿米扎 阅读(983) 评论(0) 推荐(0) 编辑
摘要: 阅读全文
posted @ 2019-01-24 10:46 阿米扎 阅读(895) 评论(0) 推荐(0) 编辑
摘要: Ubuntu 16.04 装机后的配置要点: 1. 网络的配置 2. 更改源列表 3. 永久更改ulimit ulimit限制着程序打开文件的数目,默认情况下为1024,作为服务器使用时,这个数字往往非常偏小。Ubuntu要修改这个限制,稍微有点复杂。以下步骤我们把限制数修改为:65536。 (1) 阅读全文
posted @ 2019-01-23 14:34 阿米扎 阅读(1376) 评论(0) 推荐(0) 编辑
摘要: Ubuntu 作为一个Linux的发行版,在桌面环境的易用性上做了很多改善,对推动Linux的推广做了很大的贡献。同时,它作为服务器的操作系统也越来越多的被使用。当然,服务器端可能更多的人在使用Redhat、CentOS等系统。Linux的发行版本很多,基本命令都差不多,但是一些系统配置上,也存在着 阅读全文
posted @ 2019-01-23 11:33 阿米扎 阅读(1629) 评论(0) 推荐(0) 编辑
摘要: Python2的字符串有两种:str 和 unicode,Python3的字符串也有两种:str 和 bytes。Python2 的 str 相当于 Python3 的bytes,而unicode相当于Python3的str。 Python2里面的str和unicode是可以混用的,在都是英文字母的时候str和unicode没有区别。而Python3 严格区分文本(str)和二进制数据(bytes),文本总是unicode,用str类型,二进制数据则用bytes类型表示,这样严格的限制也让我们对如何使用它们有了清晰的认识,这是很棒的。 阅读全文
posted @ 2019-01-09 23:40 阿米扎 阅读(1662) 评论(0) 推荐(0) 编辑
摘要: map是一个高阶用法,字面意义是映射,它的作用就是把一个数据结构映射成另外一种数据结构。 map用法比较绕,最好是对基础数据结构很熟悉了再使用,比如列表,字典,序列化这些。 map的基本语法如下: map函数需要一个函数对象和任意数量的iterables,如list,dictionary等。它为序列 阅读全文
posted @ 2019-01-05 14:59 阿米扎 阅读(1031) 评论(0) 推荐(0) 编辑