07 2018 档案
摘要:设计模式 设计模式是前人工作的总结和提炼,通常,被人们广泛流传的设计模式都是针对某一特定问题的成熟解决方案 使用设计模式是为了可重用代码、让代码更容易被他人理解、保证代码可靠性 单例设计模式 目的 -- 让类创建对象,在系统中只有唯一的一个实例 每一次执行 类名() 返回的对象,内存地址是相同的 单
阅读全文
摘要:1.注册开发者云打码账号: 注册账号 2.添加新软件 进入开发者后台->我的软件->输入软件名称(自定义) 提交成功后,会返回: 软件代码即为后面的appId,通讯密匙为:appKey 3.下载对应的语言使用说明文档,这里以python为例:云打码说明文档 点击下载解压就好了,解压完之后为: 4.到
阅读全文
摘要:这表文章主要是用命令操作: 使用可视化软件操作:https://www.cnblogs.com/mswyf/p/9261859.html 一.下载安装Git Bash 下载安装:https://www.cnblogs.com/mswyf/p/9261859.html 二.注册github远程仓库的账
阅读全文
摘要:百度技术文档 首先要注册百度云账号: 在首页,找到图像识别,创建应用,选择相应的功能,创建 安装接口模块: 简单识别一: 简单图形验证码: 图片: 结果为: 返回数据的参数详解: 输出结果中,各字段分别代表: log_id : 唯一的log id,用于定位问题 direction : 图像方向,传入
阅读全文
摘要:1.以下代码输入什么: 结果为: 2.为了让下面这段代码运行,需要增加哪些代码? 答案为: 3.下面这段代码输入什么? 答案为: 4.添加代码,使以下程序运行,并返回指定结果 返回结果: 答案为: 添加__getattr__()魔术方法 扩展: 输出为: 5.一个包里有三个模块,mod1.py, m
阅读全文
摘要:1.题目:求1+2!+3!+...+20!的和。 sum = 0 t = 1 for i in range(1,21): t *= i sum += t print(sum) 2.题目:利用递归方法求5!。 def jiecheng(n): # print(n) if n == 0: sum = 1 else: sum...
阅读全文
摘要:5. 输入某年某月某日,判断这一天是这一年的第几天? 7.输出 9*9 乘法口诀表。 8.题目:古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少? 9.题目:判断101-200之间有多少个素数,并输出所有素数
阅读全文
摘要:HTTP是什么? http是超文本传输协议用来在web浏览器和网站服务器之间传递数据信息,http以明文的方式发送内容,不提供任何方式的数据加密,如果攻击者截获了Web浏览器和网站服务器之间的传输报文,就可以直接读懂其中的信息,因此,HTTP协议不适合传输一些敏感信息,比如:信用卡号、密码等支付信息
阅读全文
摘要:一.存储数据库 1.问题: 当保存指定字段存入数据库的时候,如果仔细查看数据库会发现,主键id是不连续的值,即使设置了失败后事务回滚,也无济于事 也就是说,不管数据是否插入成功,id都会自增1 原因: innodb的自增是缓存在内存字典中的,分配方式是先预留,然后再插入的。所以插入失败不会回滚内存字
阅读全文
摘要:Scrapy-Redis分布式策略 原理图: 假设有四台电脑:Windows 10、Mac OS X、Ubuntu 16.04、CentOS 7.2,任意一台电脑都可以作为 Master端 或 Slaver端,比如: Master端(核心服务器) :使用 Windows 10,搭建一个Redis数据
阅读全文
摘要:Scrapy--CrawlSpider Scrapy框架中分两类爬虫,Spider类和CrawlSpider类。 此案例采用的是CrawlSpider类实现爬虫。 它是Spider的派生类,Spider类的设计原则是只爬取start_url列表中的网页,而CrawlSpider类定义了一些规则(ru
阅读全文
摘要:Selenium Selenium是一个Web的自动化测试工具,最初是为网站自动化测试而开发的,类型像我们玩游戏用的按键精灵,可以按指定的命令自动操作,不同是Selenium 可以直接运行在浏览器上,它支持所有主流的浏览器(包括PhantomJS这些无界面的浏览器)。 Selenium 可以根据我们
阅读全文
摘要:XPath (XML Path Language) 是一门在 XML 文档中查找信息的语言,可用来在 XML 文档中对元素和属性进行遍历。 W3School官方文档 开发工具 开源的XPath表达式编辑工具:XMLQuire(XML格式文件可用) Chrome插件 XPath Helper Fire
阅读全文
摘要:BeautifulSoup4 官方文档 是一个Python库,用于从HTML和XML文件中提取数据。它与您最喜欢的解析器一起使用,提供导航,搜索和修改解析树的惯用方法。它通常可以节省程序员数小时或数天的工作量。 1.安装BeautifulSoup4 2.详细操作 3.注意:运行报错 解决:安装 lx
阅读全文
摘要:多进程VS多线程 功能: 进程:能够完成多任务,比如,同时运行多个QQ 线程:能够完成多任务,比如一个QQ中的多个聊天窗口 定义 进程:系统进行资源分配和测试的一个独立单位,线程自己基本上不拥有系统资源,但是他可以与同属于一个进程的其他线程共享所拥有的全部资源 线程:进程的一个实体,是CPU调用和分
阅读全文
摘要:一.生产者和消费者模式 什么是生产者消费者模式 生产者消费者模式是通过一个容器来解决生产者和消费者的强耦合问题。生产者和消费者彼此之间不直接通讯,而通过阻塞队列来进行通讯, 所以生产者生产完数据之后不用等待消费者处理,直接扔给阻塞队列,消费者不找生产者要数据,而是直接从阻塞队列里取,阻塞队列就相当
阅读全文
摘要:协程 又称微线程,纤程。 它是比线程更小的执行单元,因为它自带CPU上下文。这样只要在合适的时机,我们可以把一个协程切换到另一个协程当中。 只要这个过程保存或恢复CPU上下文,那么程序就可以运行。 通俗的理解:在一个线程中的某个函数,可以在任何地方保存当前函数的一些临时变量等信息,然后切换到另外一个
阅读全文
摘要:多线程 线程拥有自己独立的栈和共享的堆,共享堆,不共享栈,线程亦由操作系统调度(标准线程是的)。 thread在python3中被废弃了 python3中threading代替thread模块 为了兼容性 python3将thread改名为 “_thread” python的标准库提供了两个模块 ,
阅读全文
摘要:多进程的定义 提高效率(增加并发数) 进程是程序一次动态的执行过程,包括代码加载,执行,执行完毕退出阶段 进程是系统资源分配的独立单位(最小单位) 进程拥有自己独立的堆和栈,既不共享堆,亦不共享栈,进程由操作系统调度 多进程的特性 并发性:任何进程在操作系统中可以同时运行 独立性:资源不共享 异步性
阅读全文
摘要:最近在学习爬虫,在爬取网站时很多时候是需要将图片或视频下载到本地 今天就来说说如何使用urllib将图片保存到本地 以下代码均为win7 python3.6.* 使用urllib下载函数保存 使用urllib文件方式写入文件 使用urllib的下载函数下载视频并输出下载进度 说明: 参数 finen
阅读全文
摘要:以下内容均为python3.6.*代码 学习爬虫,首先有学会使用urllib库,这个库可以方便的使我们解析网页的内容,本篇讲一下它的基本用法 解析网页 构造请求 有些网站通过获取浏览器信息判断是否是机器在操作 因此我们需要构造请求头 get请求传输数据 提交表单经常用到的就是post发送或者get发
阅读全文
摘要:1.封装: 封装就是对类和对象的成员访问进行限制,设定可以访问的方式和不可以访问的方式。 分类: 私有化的封装:当前类/对象种可以使用,类/对象外和子类/对象都不可以用 受保护的封装:当前类/对象和子类/子类对象可以使用门,类/对象外不可以使用 公共的封装:任何位置都可以访问! 例: 2.继承: 继
阅读全文
摘要:2开头 (请求成功)表示成功处理了请求的状态代码。 200 (成功) 服务器已成功处理了请求。 通常,这表示服务器提供了请求的网页。 201 (已创建) 请求成功并且服务器创建了新的资源。 202 (已接受) 服务器已接受请求,但尚未处理。 203 (非授权信息) 服务器已成功处理了请求,但返回的信
阅读全文
摘要:有一些网站没有获取浏览器的颁发的安全证书 当你在请求这个网站时浏览器会当做不安全网站处理 因此会报ssl.CertificateError 解决办法是 :将默认的证书验证模式修改为不需要验证 代码如下: 最后运行你会发现报错没了 问题解决了
阅读全文
摘要:魔术方法就是一个类/对象中的方法,和普通方法唯一的不同时,普通方法需要调用!而魔术方法是在特定时刻自动触发。 1.__new__魔术方法 触发时机:实例化对象的过程当中触发 功能:根据事情情况决定是否产生对象! 参数:一个cls接收当前类,其余根据需求决定(new魔术方法的参数和init的参数一样)
阅读全文
摘要:1.lambda:使用lambda表达式可以定义一个匿名函数 lambda表达式是一种简洁格式的函数。该表达式不是正常的函数结构,而是属于表达式的类型 (1)基本格式: 例: (2)带分支格式: 例: (3)调用函数格式: 例: 2.filter()对于序列中的元素进行筛选,最终获取符合条件的序列
阅读全文
摘要:首先先简单了解一下函数,内部函数,再来了解一下闭包 1.函数是组织好的,可重复使用的,用来实现单一,或相关联功能的代码段。函数能提高应用的模块性,和代码的重复利用率。 结果为: 2.允许在函数内部创建另一个函数,这种函数称为内嵌函数或者内部函数。 结果为: 那么接下来就说说闭包: 1.定义 在函数内
阅读全文
摘要:最近小编遇到很头疼的的一件事 就是以下这几道运算题 ,以下结果是小编经过大量的运算得出的 一.或运算 1.0 or 1 结果为:1 2.1 or 0 结果为:1 3.1 or 2 结果为:1 4.2 or 1 结果为:2 5.0 or [] 结果为:[] 6.[] or 0 结果为:0 二.与运算
阅读全文
摘要:在python中复制一个对象或者容器分为三种: 下面的父对象和子对象个人理解 1.直接赋值:其实就是对象的引用(别名)。 b = a: 赋值引用,a 和 b 都指向同一个对象。 2.浅拷贝(copy):拷贝父对象,不会拷贝对象的内部的子对象。 b = a.copy(): 浅拷贝, a 和 b 是一个
阅读全文
摘要:--题目--(1) 列举python网络爬虫所引用的模块包,提取数据用到的模块(至少各2个) requests、urllib | jsonpath xpath beautifulsoup (2)浏览器请求某网站时,从输入到页面显示出来,描述一下请求过程 1.敲域名回车 2.查询本地的DNS缓存,以找
阅读全文
摘要:1、json.dumps() json.dumps()用于将dict类型的数据转成str,因为如果直接将dict类型的数据写入json文件中会发生报错,因此在将数据写入时需要用到该函数。 结果为 2、json.dump() json.dump()用于将dict类型的数据转成str,并写入到json文
阅读全文
摘要:1.可迭代对象(Iterable): 可以直接作用于 for 循环的对象统称为可迭代对象: Iterable 其中包括 迭代器(Iterator) 和 生成器(generator) 2.迭代器(Iterator): 可以被next()函数调用并不断返回下一个值的对象称之为迭代器:Iterator 3
阅读全文
摘要:1. 什么是生成器 通过列表生成式,我们可以直接创建一个列表。但是,受到内存限制,列表容量肯定是有限的。而且, 创建一个包含100万个元素的列表,不仅占用很大的存储空间,如果我们仅仅需要访问前面几个元素,那后 面绝大多数元素占用的空间都白白浪费了。所以,如果列表元素可以按照某种算法推算出来,那我们是
阅读全文
摘要:迭代是访问集合元素的一种方式。 迭代器是一个可以记住遍历的位置的对象。 迭代器对象从集合的第一 个元素开始访问,直到所有的元素被访问完结束。迭代器只能往前不会后退。 1. 可迭代对象 以直接作用于 for 循环的数据类型有以下几种: 一类是集合数据类型,如 list 、 tuple 、 dict 、
阅读全文
摘要:这表文章主要是用了可视化操作: 使用命令行操作:https://www.cnblogs.com/mswyf/p/9370238.html 一.安装Git Bash 为了在windows下使用Git,我们需要安装msysGit这个客户端工具,它可以让我们用CMD或者GUI的方式使用Git。 1.下载
阅读全文
摘要:Python 正则表达式 正则表达式是一个特殊的字符序列,它能帮助你方便的检查一个字符串是否与某种模式匹配。 Python 自1.5版本起增加了re 模块,它提供 Perl 风格的正则表达式模式。 re 模块使 Python 语言拥有全部的正则表达式功能。 compile 函数根据一个模式字符串和可
阅读全文
摘要:1.Scrapy简介 Scrapy是用纯Python实现一个为了爬取网站数据、提取结构性数据而编写的应用框架,用途非常广泛。 框架的力量,用户只需要定制开发几个模块就可以轻松的实现一个爬虫,用来抓取网页内容以及各种图片,非常之方便。 Scrapy 使用了 Twisted,其主要对手是Tornado,
阅读全文