摘要: 工作中最常见的配置文件有四种:普通key=value的配置文件、Json格式的配置文件、HTML格式的配置文件以及YAML配置文件。 这其中以第一种居多,后三种在成熟的开源产品中较为常见,本文只针对第一种配置文件。 一般来说Linux shell下提供了diff命令来比较普通文本类的配置文件,Python的dif... 阅读原文
2019-06-07 15:49:02 阅读(2294) 评论(0)
摘要: 当需要定义常量时,一个办法是用大写变量通过整数来定义 好处是简单,缺点是类型是int,并且仍然是变量 Enum可以把一组相关常量定义在一个class中,且class不可变,而且成员可以直接比较,这样这些相关常量就不会变化了     使用枚举类 from enum import Enum ... 阅读原文
2019-06-07 14:07:01 阅读(2125) 评论(0)
摘要: 一.re模块的查找方法:  1.findall 匹配所有每一项都是列表中的一个元素 import reret = re.findall('\d+','asd鲁班七号21313') # 正则表达式,待匹配的字符串,flag# ret = re.findall('\d','asd鲁班七号21313') # 正则... 阅读原文
2019-06-07 13:44:01 阅读(2093) 评论(0)
摘要: 多线程爬虫 有些时候,比如下载图片,因为下载图片是一个耗时的操作。如果采用之前那种同步的方式下载。那效率肯会特别慢。这时候我们就可以考虑使用多线程的方式来下载图片。 多线程介绍: 多线程是为了同步完成多项任务,通过提高资源使用效率来提高系统的效率。线程是在同一时间需要完成多项任务的时候实现的。最简单的比喻... 阅读原文
2019-06-07 12:45:01 阅读(3313) 评论(0)
摘要: 实例 搜索引擎   一个搜索引擎由搜索器、索引器、检索器和用户接口四个部分组成   搜索器就是爬虫(scrawler),爬出的内容送给索引器生成索引(Index)存储在内部数据库。用户通过用户接口发出询问(query),询问解析后送达检索器,检索器高效检索后,将结果返回给用户。   以下5个文件为爬取的搜索样本... 阅读原文
2019-06-07 11:04:01 阅读(2277) 评论(0)
摘要: scrapy源码解析参考连接:https://www.jianshu.com/p/d492adf17312 ,直接看大佬的就行了,这里便就不多说了。 今天要学习的是:Scrapy框架中的download middlerware【下载中间件】用法。 一:官方文档中,对下载中间件的解释如下 下载中间件是介于scrap... 阅读原文
2019-06-07 10:20:06 阅读(2009) 评论(0)
摘要: 实现了__iter__()的实例虽能用于for循环,看似像list,但并不能将其当做list来使用,比如,Fib()[5]还是报错 可通过实现__getitem__()方法,;来实现让实例像list那样按照下标取出元素   实现按照下标取元素 class Fib(object): ... 阅读原文
2019-06-07 09:14:02 阅读(1948) 评论(0)
摘要: 如果一个类想被用于for ... in循环,类似list或tuple那样,就必须实现一个__iter__()方法,该方法返回一个迭代对象 然后,Python的for循环就会不断调用该迭代对象的__next__()方法拿到循环的下一个值,直到遇到StopIteration错误时退出循环   class... 阅读原文
2019-06-07 07:54:02 阅读(2222) 评论(0)
摘要: <1> $.ajax的两种写法: $.ajax("url",{}) $.ajax({}) <2> $.ajax的基本使用 $.ajax({ url:"//", data:{a:1,b:2}, type:"GET", success:fun... 阅读原文
2019-06-07 06:00:04 阅读(2238) 评论(0)
摘要: 当打印一个类的实例时,返回的字符串是对象的地址信息,如<__main__.Student object at 0x109afb310>,很不好看 可通过在类内定义__str__(),这样打印实例时就会返回一个好看的字符串,而且容易看出实例内部重要的数据   定义__str__() cla... 阅读原文
2019-06-06 23:49:01 阅读(2351) 评论(0)