自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

好奇的博客

记录分享

  • 博客(43)
  • 收藏
  • 关注

原创 LambdaForDynamoDB

DynamoDB调查1.DynamoDB表含义NoSQL型必须要有主键:和MongoDB型NoSQL不同,也和MySQL等SQL型数据库不同主键有约束查询有约束其他字段可以变化(增加/减少)2.DynamoDB的主键​ 主键可以有一个或者两个字段。如果是1个字段主键,那么这个字段可以唯一定位记录。这个primary key也叫:partition key如果有2个字段主键,那么第一个字段叫:partition key;第二个字段叫:sorted key高效查询,即Query操

2022-05-20 21:03:20 191

转载 浅析DDD

开发模型

2022-01-29 00:08:51 1581

原创 爬虫--Scrapy

Scrapy ShellScrapy终端是一个交互终端,我们可以在未启动spider的情况下尝试及调试代码启动Scrapy Shellscrapy shell "https://hr.tencent.com/position.php?&start=0#a"Selectors选择器Scrapy Selectors 内置 XPath 和 CSS Selector 表达式机制Selector有四个基本的方法,最常用的还是xpath: xpath(): 传入xpath表达式,返回该表达式所对

2021-12-15 16:51:36 406

原创 Kafka的部分配置

Kafka1.安装Java环境2.安装Zookeeper注意:​ 1.打开zookeeper-x.x.x\conf,把zoo_sample.cfg重命名为zoo.cfg​ 2.在文本中编辑zoo.cfg,把dataDir的值改成"./zookeeper-x.x.x/data"​ 3.设置系统变量:​ 1.新建:ZOOKEEPER_HOME:x\x\x\zookeeper-x.x.x​ 2.在path后追加:%ZOOKEEPER_HOME%\bin3.K

2021-12-08 22:07:06 212

原创 Scrapy 框架的基础介绍

Scrapy 框架介绍Scrapy是用纯Python实现一个为了爬取网站数据、提取结构性数据而编写的应用框架,用途非常广泛。Scrapy框架:用户只需要定制开发几个模块就可以轻松的实现一个爬虫,用来抓取网页内容以及各种图片,非常之方便。Scrapy 使用了Twisted(其主要对手是Tornado)多线程异步网络框架来处理网络通讯,可以加快我们的下载速度,不用自己去实现异步框架,并且包含了各种中间件接口,可以灵活的完成各种需求。Scrapy架构图Scrapy主要包括了以下组件: Scrapy

2021-12-02 14:08:36 184

原创 爬虫-6.2-验证码破解

验证码破解使用selenium使用打码平台 (推荐)使用机器学习破解打码平台:超级鹰超级鹰网址: https://www.chaojiying.com/注册并登录超级鹰账号查看价格体系下载官方文档和代码chaojiying.py 文件#!/usr/bin/env python# coding:utf-8import requestsfrom hashlib import md5class Chaojiying_Client(object): def __in

2021-12-02 14:06:01 710 2

原创 爬虫-6-selenium和phantomJS&headless

selenium和phantomJS&headless浏览器驱动下载IE11的Webdriver下载: http://dl.pconline.com.cn/download/771640-1.html 链接:https://pan.baidu.com/s/13TTyXGNaG5cpSNdl1k9ksQ 密码:2n9nChrome65.0.3325.146的webdriver驱动下载: 多版本:http://chromedriver.storage.googleapis.com/inde

2021-12-02 14:05:05 669

原创 爬虫-5-xpath

XPathXPath即为XML路径语言,它是一种用来确定XML(标准通用标记语言的子集)文档中某部分位置的语言。XPath基于XML的树状结构,有不同类型的节点,包括元素节点,属性节点和文本节点,提供在数据结构树中找寻节点的能力。什么是 XPath?XPath 使用路径表达式在 XML 文档中进行导航XPath 包含一个标准函数库XPath 是 XSLT 中的主要元素XPath 是一个 W3C 标准使用xpathpip install lxmlimport lxmlfrom lxml

2021-12-02 14:04:26 159

原创 爬虫-4-bs4

Beautiful Soup 4

2021-12-02 14:03:18 563

原创 爬虫-3-requests和代理

Handler处理器 和 自定义Opener (了解)opener是 urllib2.OpenerDirector 的实例,我们之前一直都在使用的urlopen,它是一个特殊的opener(也就是模块帮我们构建好的)。但是基本的urlopen()方法不支持代理IP、cookie等其他的HTTP/HTTPS高级功能。所以要支持这些功能:1、使用相关的Handler处理器来创建特定功能的处理器对象;2、然后通过urllib.request.build_opener()方法使用这些处理器对象,创建自定义

2021-12-02 14:02:19 332

原创 爬虫-2-requests

Day02Requests: 让 HTTP 服务人类虽然Python的标准库中 urllib.request 模块已经包含了平常我们使用的大多数功能,但是它的 API 使用起来让人感觉不太好,而 Requests 自称 “HTTP for Humans”,说明使用更简洁方便。requests 唯一的一个非转基因的 Python HTTP 库,人类可以安全享用:requests 继承了urllib2的所有特性。Requests支持HTTP连接保持和连接池,支持使用cookie保持会话,支持文件上传

2021-12-02 13:35:48 820

原创 爬虫-1-基础和urllib

爬虫基础一、爬虫介绍什么是爬虫爬虫:网络爬虫又称为网络蜘蛛,网络蚂蚁,网络机器人等,可以自动化浏览网络中的信息,当然浏览信息的时候需要按照我们的规定的规则进行,这些规则称之为网络爬虫算法,使用python可以很方便的写出爬虫程序,进行互联网信息的自动化检索网 : 互联网蜘蛛网: 互联网理解为蜘蛛网爬虫: 蜘蛛为什么学习爬虫 私人定制一个搜索引擎,并且可以对搜索引擎的数采集工作原理进行更深层次地理解 获取更多的数据源,并且这些数据源可以按我们的目的进行采集,去掉很多无关数据 更好的进行

2021-12-02 13:34:54 8985 14

原创 Python协程与进程

协程协程,又称微线程,纤程。英文名Coroutine。首先我们得知道协程是啥?协程其实可以认为是比线程更小的执行单元。为啥说他是一个执行单元,因为他自带CPU上下文。这样只要在合适的时机,我们可以把一个协程切换到另一个协程,只要这个过程中保存或恢复CPU上下文那么程序还是可以运行的。通俗的理解:在一个线程中的某个函数,可以在任何地方保存当前函数的一些临时变量等信息,然后切换到另外一个函数中执行,注意不是通过调用函数的方式做到的,并且切换的次数以及什么时候再切换到原来的函数都由开发者自己确定。协程

2021-12-02 13:33:21 254

原创 Python线程 一

多线程在介绍Python中的线程之前,先明确一个问题,Python中的多线程是假的多线程!为什么这么说,我们先明确一个概念,全局解释器锁(GIL)什么是GILPython代码的执行由Python虚拟机(解释器)来控制,同时只有一个线程在执行。对Python虚拟机的访问由全局解释器锁(GIL)来控制,正是这个锁能保证同时只有一个线程在运行。为什么要GIL为了线程间数据的一致性和状态同步的完整性GIL的影响只有一个线程在运行,无法使用多核。在多线程环境中,Python虚拟机按照以下方式执行

2021-12-02 13:32:10 146

原创 linux安装,网络配置,集群

linux安装,网络配置,集群1.下载linux:发行版 Ubuntu REdHat centos Debain Fedora,SUSE,OpenSUSEcentos 6.xcentos 7.x在虚拟机(VmWare)上 安装linux(centos6.5/6.8) centos:CentOS-6.8-x86_64-bin-DVD1.iso ,http://archive.kernel.org/centos-vault/6.8/isos/x86_64/CentOS-6.8-x86_64

2021-12-01 11:20:03 222

原创 DynamoDB基本知识及使用YCSB进行性能测试

DynamoDB调查1.DynamoDB表含义NoSQL型必须要有主键:和MongoDB型NoSQL不同,也和MySQL等SQL型数据库不同主键有约束查询有约束其他字段可以变化(增加/减少)2.DynamoDB的主键​ 主键可以有一个或者两个字段。如果是1个字段主键,那么这个字段可以唯一定位记录。这个primary key也叫:partition key如果有2个字段主键,那么第一个字段叫:partition key;第二个字段叫:sorted key高效查询,即Query操

2021-08-31 18:07:41 1573

原创 Redis压力性能测试

一.Redis-benchmark测试1.执行./redis-benchmark,结果如下,在自己不加参数的情况下,默认参数有-h 默认服务器主机名为127.0.0.1 , -p 默认端口号为6379 ,-c 并发连接数默认为50 ,-n 发出的请求总数默认值为100000 ,-k 1(保持连接) ,–dbnum 选择用于性能测试的数据库的编号(默认值为0)默认情况下是对redis中的所有添加查询方法进行测试,并返回结果。2.在上述默认参数情况下,加入-q表示静默测试,只显示QPS的值,不显示过程信息

2021-08-13 17:44:48 2496

原创 Redis数据类型及应用场景分析

Redis数据类型及应用场景分析Redis底层一共有六种数据结构,分别是简单动态字符串、双向链表、压缩列表、哈希表、跳表、整数数组各数据结构查找复杂度分别是:哈希表O(1)跳表O(logN)双向链表O(N)压缩列表O(N)整数数组O(N)String数据结构string 是redis中最基本类型,实现由简单的动态字符串实现。最大可以存储512M的数据,string类型是二进制,可以存储任何数据,比如数字,图片,序列化对象一个key对应一个val

2021-08-13 17:31:35 218

原创 Redis数据类型及常用方法

Redis数据库(内核由C写)一、Redis值类型1. 字符串 string2. 哈希 hash3. 列表 list4. 集合 set5. 有序集合 zsetredis命令大全:http://redis.cn/commands.html1.1 String 字符串简介string 是redis中最基本类型,最大可以存储512M的数据,string类型是二进制,可以存储任何数据,比如数字,图片,序列化对象一个key对应一个value设置:1.

2021-08-13 17:29:09 396

原创 jQuery操作2

jQuery 遍历一 jQuery 遍历 - 祖先通过 jQuery,您能够向上遍历 DOM 树,以查找元素的祖先。向上遍历 DOM 树这些 jQuery 方法很有用,它们用于向上遍历 DOM 树:*parent()parents()parentsUntil()jQuery parent() 方法parent() 方法返回被选元素的直接父元素。该方法只会向上一级对 DOM 树进行遍历。下面的例子返回每个 元素的的直接父元素:实例$(document).ready(functi

2021-08-05 00:42:35 346

原创 jQuery操作1

jQuery 介绍jQuery 是一个 JavaScript 库。jQuery 极大地简化了 JavaScript 编程。下载 jQuery共有两个版本的 jQuery 可供下载:一份是精简过的,另一份是未压缩的(供调试或阅读)。这两个版本都可从 jQuery.com 下载jQuery 语法jQuery 语法实例$(this).hide()演示 jQuery hide() 函数,隐藏当前的 HTML 元素。$("#test").hide()演示 jQuery hide() 函数

2021-08-05 00:41:28 269

原创 CSS学习

========================CSS层叠样式表========================什么是css?层叠样式表命名规则:使用字母、数字或下划线和减号构成,不要以数字开头CSS 概述CSS 指层叠样式表 (Cascading Style Sheets)样式定义如何显示 HTML 元素样式通常存储在样式表中把样式添加到 HTML 4.0 中,是为了解决内容与表现分离的问题外部样式表可以极大提高工作效率外部样式表通常存储在 CSS 文件中多个样式定义可层叠为

2021-08-05 00:38:17 224

原创 html学习

HTML(HyperText Markup Language)前言软件架构B/S​ Browser/Server 网站C/S​ Client/Server QQHTML的简介、发展史:万维网联盟(W3C)维护。包含HTML内容的文件最常用的扩展名是.html,但是像DOS这样的旧操作系统限制扩展名为最多3个字符,所以.htm扩展名也被使用。虽然现在使用的比较少一些了,但是.htm扩展名仍旧普遍被支持。相关历程:超文本标记语言(第一版) – 在1993年6月发为互联网

2021-08-05 00:37:07 231

原创 爬虫-1-多线程

多线程在介绍Python中的线程之前,先明确一个问题,Python中的多线程是假的多线程!为什么这么说,我们先明确一个概念,全局解释器锁(GIL)什么是GILPython代码的执行由Python虚拟机(解释器)来控制,同时只有一个线程在执行。对Python虚拟机的访问由全局解释器锁(GIL)来控制,正是这个锁能保证同时只有一个线程在运行。为什么要GIL为了线程间数据的一致性和状态同步的完整性GIL的影响只有一个线程在运行,无法使用多核。在多线程环境中,Python虚拟机按照以下方式执

2021-03-26 11:12:15 184

原创 测试&网络编程

一、unittest功能:def one_equation(a,b): """ :param a: :param b: :return: ax + b = 0 的解 x = -(b/a) """ if a == 0: raise ValueError("被除数不能为零") else: return -(b/a)def two_equation(a,b,c): """

2021-03-26 11:10:39 94 1

原创 异常&test

一、name作用 if __name__ == __main__:1. 可以避免模块被引入到其他文件中,可以阻挡一些被引入文件代码的执行2. 当前文件的程序入口的标示二、第三库安装安装的第三方包都在:C:\ProgramData\Anaconda3\Lib\site-packages安装命令: pip install pkg -i https://pypi.doubanio.com/simple --trusted-host pypi.doubanio.com三、异常需求: 当

2021-03-04 15:57:23 88 1

原创 time&异常&import

一、高阶函数1.1 filter 过滤函数: filter(function or None, iterable) --> filter objectl = [1,2,3,4,5,6,7,8,9,10,11,12,13,14,15]# 判断一个元素是否为偶数def is_odd(x): if x % 2 == 0: return True第一种方式:f_l = filter(is_odd,l第二种方式: f_l = filter(lambda x:x%2==1

2021-03-04 15:56:47 419 1

原创 类中方法辨识和作用

面向对象一、@staticmethod 和 @classmethodPython中有3个方法,即静态方法(staticmethod),类方法(classmethod)和实例方法如下:class B(object): # 实例方法 def foo(self,x): print("executing foo(%s,%s)"%(self,x)) # 类方法 @classmethod def class_foo(cls,x): print("exe

2021-03-04 15:56:13 121 1

原创 面向对象继承

面向对象继承一、回顾class ATM: __info = {123456:{"name":"md","money":1},345678:{"name":"dennis","money":2}} # 输入卡号验证是否有一个私有方法,保证账号的正确性 def __check_idcard(self): self.id_card = eval(input("请输入您的卡号:")) info = self.__info.get(self.id_card)

2021-03-04 15:55:40 92 1

原创 面向对象

面向对象1. 概念**类(Class)**用来描述具有相同属性和方法的对象集合。它定义了该集合每个对象共有的属性和方法。对象则是类的实例类变量 类变量在整个实例化对象中是公用的。类变量定义在类中但是在函数体外。类变量通常不作为实例变量使用。数据成员 类变量或者实例变量用于处理类及实例对象的相关数据方法 类定义的函数实例变量 定义在方法中的变量,只作用于当前实例的类继承 一个派生类(derived class)继承基类(base class)的字段和方法。方法重写 如果父类的继承的方法不能满

2021-03-04 15:55:10 46 1

原创 函数&装饰器

一、给类绑定属性类名.属性名 = 属性值二、类/对象的属性操作# 给类设置属性setattr(obj,"name",20)# 是否有age属性hasattr(Stu,"age")# 获取属性getattr(Stu,"name")# 如果一个属性不存在 返回默认值getattr(Stu,"age",404)三、给对象和类绑定方法# 对象绑定方法from types import MethodType class Stu(): # 构造方法 def __ini

2021-03-04 15:54:44 45 1

原创 面向对象

面向对象1. 概念**类(Class)**用来描述具有相同属性和方法的对象集合。它定义了该集合每个对象共有的属性和方法。对象则是类的实例类变量 类变量在整个实例化对象中是公用的。类变量定义在类中但是在函数体外。类变量通常不作为实例变量使用。数据成员 类变量或者实例变量用于处理类及实例对象的相关数据方法 类定义的函数实例变量 定义在方法中的变量,只作用于当前实例的类继承 一个派生类(derived class)继承基类(base class)的字段和方法。方法重写 如果父类的继承的方法不能满

2021-03-04 15:54:08 53 1

原创 正则表达式

一、正则表达式正则表达式(Regular Expession 简称re),又称规则表达式使用字符组合成规则来描述、匹配一系列符合条件的字符串用途:​ a. 用来文本搜索和替换​ b. 查询指定数据​ c. 分割比较复杂的字符串(爬虫获取图片、音频等内容)函数含义re.compile(pattern,flags=0)编译正则表达式模式,返回一个对象。可以把常用的正则表达式编译成正则表达式对象,方便后续调用及提高效率。re.match(pat

2021-03-04 15:53:33 79 1

原创 OS

1. 文件重命名和删除import os# 文件的重命名os.rename("t1.txt","t2.txt")# 绝对路径 就是从盘符(如:C\D\E\F盘开始~~一路找到底)# r是转义os.remove(r"C:\Users\Administrator\PycharmProjects\day01\firstStu\day12\t2.txt")# 相对路径,基于当前文件写路径,t2.txt和当前开发文件同一个路径os.remove("t2.txt")2. 创建目录# 相对路径

2021-03-04 15:53:03 143 1

原创 IO

IO1. 打印到屏幕def print(self, *args, sep=' ', end='\n', file=None)*args 不定长参数 例如: "py is the best","modeng tea","六期学生最幸福"sep 输出不定长参数的分隔符 例如: sep = ":"end 控制输出后的格式:"\n"," ","..."file 可以控制数据输出到控制台还是文件夹中2. 读取键盘的输入def input(*args, **kwargs)# 常规输

2021-03-04 15:52:38 76 1

原创 函数四

函数回顾变量作用域num = int(10) # 内置变量 B# num = 20 # 全局变量 Gdef outer(): # num = 30 # 闭包变量 E def inner(): # num = 40 # 局部变量 L print(num) return inneri = outer()i()注意: 访问顺序 LEGB列表中元素大小写转换l = ["pY","IS","eASY

2021-03-03 20:24:30 203 1

原创 函数三

一、函数作用: 封装一段功能函数定义关键字: def1. 不定长参数概述: 传入参数个数不固定(1) 不确定参数名,以元组形式去接收如: def print(self, *args, sep=’ ‘, end=’\n’, file=None)def func(*args): print(args)func(1,2,3,4,5,6,7,8,9,10)输出结果: (1, 2, 3, 4, 5, 6, 7, 8, 9, 10)def func(a,b,*args): pri

2021-03-03 20:23:59 136 1

原创 函数二

函数1. 什么函数可以实现一些特定功能的方法优点:简化代码结构,增加代码的复用度提高代码可读性,方便维护2. 函数定义def 函数名():​ 函数体函数名: 遵循标示符命名规则注意:​ 函数调用,先定义,后调用​ 同一个模块里, 函数可以重名,但是会被覆盖​ 函数区分大小写def speaker(): print("你们是最棒的~")3. 函数定义方式普通定义方式:def speak(): prin

2021-03-03 20:23:28 71 1

原创 函数一

一、简介在 Python 中,函数是一等对象。编程语言理论家把“一等对象”定义为满足下述条件的程序实体:在运行时创建能赋值给变量或数据结构中的元素能作为参数传给函数能作为函数的返回结果在 Python 中,所有函数都是一等对象,是面向对象程序设计最基本的单元二、什么叫函数1、定义函数就是把完成特定功能的一段代码封装起来。给该功能起一个名字(函数名)在一个完整的项目,某些特定的功能如果被返回使用,那么我们就可以把这些代码封装成函数,当我们要去使用的时候直接调用函数即可2、优

2021-03-03 20:21:52 99 1

原创 流程控制

一、流程控制1. if语句如果属于一个条件控制语句2. 使用2.1 简单if语句语法:​ if 表达式:​ 语句说明:单分支,要么执行语句,要么不执行,执行与否取决于表达式是否成立工作原理:当程序执行到if语句的时候,首先判断表达式的值是否为真,如果为真,则执行语句,否则跳过整个if语句代码继续向下执行何为真假?假:False 0 0.0 None “”2.2 if-else语句语法:​ if 表达式:​ 语句1​ else:​ 语句2说明:

2021-03-03 20:20:00 95 1

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除