自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(26)
  • 收藏
  • 关注

原创 第11章-移动端数据抓取

第11章-移动端数据抓取一、移动端前导知识1.1 UIAutomator的介绍1.2 Android四大组件1.3 UIAutomator2的介绍1.4 Adb的安装与应用1.4.1 Adb简介1.4.2 Adb安装与应用二、UIAutomator22.1 U2快速入门一、移动端前导知识1.1 UIAutomator的介绍UIAutomator是google提供的⽤来做安卓⾃动化测试(可以对第三方App进行测试,获取屏幕上任意一个APP的任意一个控件属性,并对其进行任意操作)的⼀个java库,类似se

2021-01-09 14:00:27 1154 1

原创 第10章-MangoDB

第10章-MangoDB一、MongoDB简介1.1 SQL和NoSQL的主要区别1.2MongoDB的优势1.3 MongoDB概念介绍二、MongoDB使用2.1MongoDB在Windows中安装2.2MongoDB运行2.3 MongoDB使用2.4 MongoDB查询操作一、MongoDB简介MongoDB:是⼀个nosql数据库,在处理⼤数据的时候会⽐MySQL更有优势1.1 SQL和NoSQL的主要区别在SQL中层级关系:数据库->表->数据在NoSQL中是:数据库-&g

2020-12-19 16:37:18 1094

原创 第9章-Redis介绍

第9章-Redis介绍一、Redis简介二、Redis的简单应用一、Redis简介Redis是一种⾮关系型数据库,是一个开源的、C语⾔开发的、键值对存储数据的nosql数据库。Rdis是一种缓存型数据库(快速存取),但⽀持数据的持久化,可以将内存中的数据保存在磁盘中,重启的时候可以再次加载进⾏使⽤Redis使用:(1)官⽹地址:https://redis.io/(2)命令地址:http://doc.redisfans.com/Redis的五⼤数据类型:string/list/set/hash

2020-12-11 23:04:09 261

原创 第8章-Scrapy

第8章-Scrapy一、Scrapy介绍一、Scrapy介绍Scrapy是⼀个为了爬取⽹站数据、提取结构性数据⽽编写的应⽤框架,我们只需要实现少量的代码,就能够实现快速的抓取Scrapy使⽤了Twisted异步⽹络框架,可以使爬虫更快、更强详细内容可参考:https://scrapy-chs.readthedocs.io/zh_CN/1.0/intro/overview.html模块是框架的一部分...

2020-12-06 15:18:17 768

原创 第7章-多任务线程+队列+文件夹创建

第7章-多任务线程+文件夹创建一、线程的实例化方法二、函数方式三、类方式四、资源竞争五、互斥锁和死锁5.1互斥锁5.2 死锁六、Queue线程七、⽣产者和消费者扩展一、线程的实例化方法1.通过函数方式:threading模块中的Thread类有一个target参数,需要指定一个函数对象,创建的函数就是实现子线程的逻辑2.通过类方式自定义一个类并继承threading.Thread类,重写run()方法实现子线程的逻辑3.区别:如果子线程较多,通过面向对象的变成方式便于管理代码;如果子线程较少,可

2020-11-20 20:11:22 671

原创 第6章-selenium的使用+iframe+图形验证码

第6章-selenium的使用一、ajax基本介绍1、ajax2、获取ajax数据的方式二、selenium1、selenium介绍2、PhantomJS常用语法3、selenium的使用3.1快速入门3.2定位元素3.3操作表单元素3.3.1 针对input标签3.3.2 针对select标签3.3.3 针对非select标签3.4行为链一、ajax基本介绍1、ajaxajax可以使⽹⻚实现异步更新,在不重新加载整个⽹⻚的情况下,对⽹⻚的某部分进⾏更新如上图:车次信息在网页源码中不存在,更换查询

2020-11-08 09:40:44 1081

原创 第5章-bs4 + csv+join扩展

第5章-bs4 + csv一、CSV操作说明1.1 写⼊csv⽂件1.2 读取csv⽂件二、bs41、简单方法2. bs4的对象种类3、遍历文档树3.1 contents、children 、descendants3.2 string 、strings、 stripped strings3.3 parent 和 parents3.4 sibling3.5 find和find_all一、CSV操作说明CSV (Comma Separated Values),即逗号分隔值(也称字符分隔值,因为分隔符可以不是

2020-10-25 17:08:03 732

原创 第4章-XPath

第4章-XPath一、瀑布流数据改分页显示二、正则表达式下载网页图片三、XPath一、瀑布流数据改分页显示瀑布流数据:不分页,随鼠标或滚动条下滑自动加载新的内容通过将url中的index改为flip可以实现分页显示hoverURL:鼠标移动过后显示的版本thumbURL、middleURL:也不是我们需要的原版图片objURL:真正的原版图片二、正则表达式下载网页图片三、XPathxm:可扩展标记语言,用于传输和存储数据html:超文本标记语言,显示页面效果xml是⼀种标

2020-10-24 17:02:22 240

原创 第3章-正则表达式

第3章-正则表达式一、正则表达式简介二、普通字符三、元字符一、正则表达式简介1、概念:正则表达式就是一些特殊字符组合在一起的一个字符串。正则表达式是对字符串操作的⼀种逻辑公式,就是⽤事先定义好的⼀些特定字符、及这些特定字符的组合,组成⼀个“规则字符串”,这个“规则字符串”⽤来表达对字符串的⼀种过滤逻辑。二、普通字符普通字符:字⺟、数字、汉字、下划线、以及没有特殊定义的符号。正则表达式中的普通字符,在匹配的时候,只匹配与⾃身相同的⼀个字符。match(pattern, string, flag

2020-10-15 21:43:33 449

原创 第2章-爬虫请求模块

第2章-爬虫请求模块一、urllib.request模块1、urlretrieve()2、urlopen()3、Request()4、parse()一、urllib.request模块1、urlretrieve()urlretrieve(url, filename=None, reporthook=None, data=None)2、urlopen()urlopen(url, data=None, timeout=socket._GLOBAL_DEFAULT_TIMEOUT,

2020-10-10 22:46:48 595 1

原创 第1章-爬虫简介(http请求)

第1章-爬虫简介一、通讯协议二、网络模型三、Http请求与响应3.1 Http通信3.2 Http请求3.3 Http请求方法四、几个概念4.1 GET和POST4.2 URL组成部分4.3 User-Agent ⽤户代理4.4 Refer4.5 状态码4.6 抓包工具五、爬虫介绍一、通讯协议每一个应用程序都有一个独立的标识–端口(逻辑端口号)HTTP:超文本传输协议,默认端口80二、网络模型https=http+ssl,默认端口443SSL:(Secure Socket Layer,安全套

2020-09-29 10:35:36 943

原创 第15节-异常&文件操作

第15节-异常&文件操作一、异常1.1异常简介1.2异常的传播1.3异常对象二、文件操作2.1打开文件2.2文件关闭2.3读取文件一、异常1.1异常简介异常:程序报错即为异常处理异常: 程序运行时出现异常,目的并不是让我们的程序直接终止!Python是希望在出现异常时,我们可以编写代码来对异常进行处理try语句语法:try: 代码块(可能出错的语句)except: 代码块(出错之后的处理方式)else: 代码块(没有出错,后续要执行的语句)1.2异常的

2020-09-09 16:07:59 275

原创 第14节-模块+生成器/迭代器+列表推导式

第14节-模块一、模块简介二、 模块的创建三、模块的使用四、列表推导式五、生成器一、模块简介模块化:指将一个完整的程序分解成一个个的小模块,通过将模块组合,来搭建出一个完整的程序优点:方便开发、维护,可以复用二、 模块的创建在Python当中一个py文件就是一个模块在一个模块中引入外部模块的语法: import 模块名(模块名就是py文件) / import 模块名 as 模块别名可以引入同一个模块多次,但是模块的实例只会创建一次在一个模块内部都有一个__name__,通过它我们可以获取模

2020-09-05 16:05:30 216

原创 第13节 - 面向对象三(继承/多态/类与实例的属性和方法)

第13节 - 面向对象三print(C.__bases__) 获取其全部父类一、继承1、简介class Doctor():name = ‘’age = ‘’def study(self):print(‘读百书,救死扶伤’)calss Teacher():name = ‘’age = ‘’def study(self):print(‘教书育人’)class Person(): #定义一个通用类name = ‘’age = ‘’def run(self):print(

2020-09-03 17:15:49 424

原创 第12节- 面向对象二(魔法方法/封装/装饰器方法)

第12节- 面向对象二一、特殊方法:二、封装2.1 hidden+get+set方式进行声明封装2.2 ‘__属性名’方式进行声明封装2.3 ‘_属性名’方式进行声明封装2.4 封装小结三、装饰器方法一、特殊方法:在类中可以定义一些特殊方法,这些方法形如__xxx__()这种形式,特殊方法(魔术方法) 不需要我们自己去调用,会在特定时候自动调用如上图:p1 = Person() 解释器默认会调用执行一次__init__()方法p1.init() 再次调用__init__()方法二

2020-09-01 17:21:41 260

原创 第11节-面向对象一(类/属性和方法/self参数)

第11节-面向对象一、拓展复习二、对象的简介三、类的简介四、类的使用1、在实例中定义:2、在类中间定义:五、属性和方法六、self参数一、拓展复习可变序列:列表、字典、集合(只能存储不可变对象,却可变序列,因为元素可改变)不可变序列:元组、字符串可变类型:列表、字典、集合不可变类型:元组、字符串、int、bool可变:值可以改变,id不会改变不可变:值不可以变二、对象的简介(1)面向过程的编程方式:符合人类思维,编写容易;但是往往只适用于一个功能,复用性较低(2)面向对象的编程方式:把所

2020-08-29 18:10:32 419

原创 第10节-函数三(高阶函数/匿名函数/闭包/装饰器)

第10节-函数三一、高阶函数二、匿名函数1.过滤器2.匿名函数(lambda函数)三、闭包四、装饰器一、高阶函数满足下列特点之一的函数称之为高阶函数:特点1:接收一个或者多个函数作为参数特点2:将函数作为返回值(不加括号)注意:函数做形参和实参传参时,均不加括号二、匿名函数1.过滤器filter():内嵌的过滤器函数,可以过滤一些可迭代的对象,返回fiter类型的对象(可以通过list强制转换为列表)filter()的两个参数:filter(过滤的条件, 过滤的序列)—满足条件则留下过

2020-08-27 17:10:46 1283

原创 第9节-函数二(返回值/作用域/递归函数)

第9节-函数二一、函数的返回值二、文档字符串三、函数的作用域四、命名空间五、递归函数一、函数的返回值return xxx,返回值可以是函数;当没有return语句,或者只有return且不带返回值时,均返回为Nonereturn后面的语句不再实行,return一旦执行函数自动结束当def()函数再次内嵌def()函数时,通过在需要调用内嵌函数时才使用()可以给使用者更加灵活的选择fn是函数对象,打印fn就是在打印函数对象fn()是函数调用,打印fn()是打印函数返回值二、文档字符串hel

2020-08-25 17:19:22 422

原创 第8节-函数一(参数/传参/拆包)

第8节-函数一一、函数简介二、函数的参数三、函数的传递方式四、实参的类型一、函数简介函数也是一个对象(万物皆对象)函数中保存的代码需要调用时才会执行二、函数的参数定义形参相当于在函数内部声明了变量,但没有赋值arg1,arg2为形参def func(arg1,arg2):codes block实参相当于给形参赋值,需要与形参一一对应注意:函数名必须符合标识符的规范(可以包含字母、数字、下划线但是不能以数字开头)print是函数对象 print()是调用函数三、函数的传递方式

2020-08-22 17:41:18 371

原创 第7节-元组&字典&集合

第7节-元组&字典&集合1.元组2.拆包2.1元组的拆包:2.2列表的拆包:2.3字符串拆包:3.字典3.1字典的定义3.2字典的创建3.3字典的使用3.4浅拷贝&深拷贝1.元组(1)元组不能为空,而且至少还要有1个逗号;当元组不是空元组时,括号可以省略,但是my_tuple=, my_tuple=(,)都会报错(2)元组的访问/提取类似列表,通用操作与列表相同2.拆包2.1元组的拆包:a,b,c = (1,2,3),变量个数需与元素个数一一对应,否则会报错;如果不一

2020-08-20 16:57:54 625

原创 第6节-列表

第六节-列表1.序列2.列表2.1基本概念2.2切片2.3列表运算2.4列表的增删改2.4.1 列表修改:2.4.2 列表增加2.4.3 列表删除2.4.4 列表翻转及排序1.序列序列:一种数据结构(数据结构:计算机中存储数据的方式),用于保存一组有序的数据,所有数据在序列中都有一个唯一的位置(索引),序列中的数据会按照添加的顺序来分配索引索引从0开始可变序列(序列中元素可以改变):列表,字典不可变序列(序列中元素不能改变):字符串,元组注:字符串中的每个字母都可通过类似列表中的索引进行访问和提

2020-08-18 21:42:01 255

原创 第5节-条件控制语句

第五节-条件控制语句1.小贴士2.if语句3.while语句4.break和continue1.小贴士input()也可以类似print打印提示语句,例如:input(‘请输入数字: ’)input()键盘输入的结果是字符串int(input()) 输入float型会报错 (需注意)float(input())输入int型不会报错print(xxx)默认结尾自带换行符,如果要取消可以添加参数end’,例如:print(xxx,end=’’)不换行,结尾为空;print(xxx,end=’

2020-08-15 17:17:26 226

原创 第4节-运算符

第四节-运算符1、算术运算符:除法结果均为浮点型//表示整除,结果不含余数%表示取模,结果为余数**表示幂运算,因子为分数时可为开方根2、赋值运算符:+= (x+= 3 相当于 x = x + 3 )-= (x -= 3 相当于 x= x - 3 )*= (x = 3 相当于 x = x 3 )**= (x **= 3 相当于 x = x ** 3 )/= (x /= 3 相当于 x = x/ 3 )//= (x //= 3 相当于 x = x // 3 )%= (x %= 3 相

2020-08-13 11:24:56 226

原创 第3节-基本数据类型(占位符+字符串方法)

第三节-基本数据类型一级目录二级目录三级目录一级目录二级目录三级目录

2020-08-11 20:43:40 879

原创 第2节-python要点+第三方模块

第二节-python要点1.python解释器2.第三方库或模块的导入3.python编译器4.环境变量1.python解释器环境搭建就是安装Python的解释器,Python的解释器分类:CPython(官⽅我们⽤的就是这个版本) ⽤c语⾔编写的Python解释器PyPy ⽤Python语⾔编写的Python解释器JPython ⽤Java编写的Python解释器2.第三方库或模块的导入方法1.普通安装pip install SomePackage方法2. 换源安装pip inst

2020-08-11 10:50:37 250

原创 第1节-计算机要点

第一节-计算机要点1.内存2.垃圾回收机制1.内存内存地址通过id()获取2.垃圾回收机制Python垃圾回收机制主要以“引用计数为主,分代回收为辅”。引用计数法的原理是每个对象维护一个ob_ref,用来记录当前对象被引用的次数,也就是来追踪到底有多少引用指向了这个对象,当发生以下四种情况的时候,该对象的引用计数器**+1**对象被创建  a=14对象被引用  b=a对象被作为参数,传到函数中   func(a)对象作为一个元素,存储在容器中   List={a,”a”,”b”,2}

2020-08-11 10:23:32 199

空空如也

空空如也

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

TA关注的人

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