自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 # 网络数据采集 (爬虫) —— 并发和并行编程(5)

网络数据采集(爬虫) —— 并发和并行编程(5)Python中的并发编程Python中的并发编程:多线程,多进程(用的比较少),异步I/O并发(concurrency):加入程序中有两个需要执行的部分A和B,通过A和B的轮流切换,达到让外界感到A和B同时执行的效果。(短时间快速切换)并行(parallel):程序中有多个部分同时执行,前提条件是计算机需要有多个CPU或者CPU有多核进程:启动一个程序,通常就启动了一个或多个进程,进程是操作系统分配内存的基本单位。线程:一个进程通常包括一个或多

2021-03-13 15:51:08 388

原创 网络数据采集 (爬虫) —— 加载动态页面( 4 )

网络数据采集 (爬虫) —— 加载动态页面( 4 )1.了解AjaxAjax -------> 为页面生成动态内容的一种技术Asynchronous JavaScript and XML(XML已经被JSON取代了,没有换成新名字)浏览器可以在不中断用户体验的情况下,向服务器发起异步请求(在浏览器后台发生,用户感知不到)服务器在收到浏览器发出的异步请求之后会返回数据,数据通常都是使用JSON格式浏览器获得JSON数据之后,就会使用JavaScript对页面进行局部渲染,生成

2021-03-13 15:19:06 263

原创 网络数据采集(爬虫) —— JSON,使用商业代理(3)

网络数据采集 —— 爬虫(3)3.JSONJSON ------>JavaScript Object Notation-------->两个系统间交换数据的一种格式(事实标准)JSON格式的数据是纯文本,任何系统,任何编程语言都能够处理纯文本,所以JSON特别适合在异构的系统(硬件不同、操作系统、编程语言不同)之间交换数据XML--------> eXtensible MarKup Language ----------->可拓展标记语言JSON----->

2021-03-09 19:20:28 317

原创 网络数据采集 (爬虫)----> CSS,Excel(2)

网络数据采集 ----> 爬虫(2)练习:获取搜狐首页的新闻标题和链接通过CSS选择器获取页面元素首先安装pip install BeautifulSoup4BeautifulSoup ----> select/ select_oneimport requests# 导入bs4import bs4resp = requests.get('https://www.sohu.com/')if resp.status_code == 200: # 创建bs4对象,获得页面的

2021-03-08 17:05:04 144 1

原创 网络数据采集 ---- 爬虫(蜘蛛)(1)

网络数据采集 ----> 爬虫(蜘蛛)(1)1.基本知识中小企业是很缺乏数据,要么选择购买数据,要么选择爬虫采集数据1. 怎么写爬虫程序? ~ 获取页面的代码 ---> HTML ---> 数据放在HTML标签中 ~ 解析HTML页面 ---> 正则表达式 / XPath / CSS选择器 ~ 数据的持久化 ---> 文本文件(CVS)/ Excel / 数据库2. 写爬虫程序违法吗? ~ 灰色地带 ---> 法不禁止即为许可 ~ 如果被目标网站举证你

2021-03-04 19:49:32 422 1

原创 Day 19 迭代器和生成器,json数据

Day 19 迭代器和生成器,json数据1.迭代器(iter)序列迭代器是序列1.创建迭代器的方式有两种:1)将其他序列转换成迭代器2)生成器特点:1)不能直接查看所有元素(打印迭代器不会显示所有元素)​ 2)迭代器没法直接同级元素个数​ 3)如果想要获取迭代器的某个元素必须先将这个元素从迭代器中取出,取出来的元素不能重新再放回迭代器中,获取元素的时候只能获得当前迭代器的第一个元素(最顶层的元素)列表是一个无盖的箱子,能知道元素个数[外

2021-03-01 20:53:11 100

原创 day 18 作业

建立一个汽车类Auto,包括轮胎个数,汽车颜色,车身重量,速度等属性,并通过不同的构造方法创建实例。至少要求 汽车能够加速 减速 停车。 再定义一个小汽车类CarAuto 继承Auto 并添加空调、CD属性,并且重新实现方法覆盖加速、减速的方法class Auto: def __init__(self, num_tyre, colour, weight, speed): self.num_tyre = num_tyre self.colour = colour..

2021-02-25 23:12:12 96

原创 Day 18 类的继承、访问权限、拷贝和内存管理

Day 18 类的继承、访问权限、拷贝和内存管理1.类的继承1.什么是继承?子类直接拥有父类的属性和方法的过程就是继承子类:继承者父类:被继承,父类又叫超类(super)2.怎么继承class 子类(父类): passclass Person: num = 61 def __init__(self): self.name = '小红' self.age =18 self.gender = '男' d

2021-02-25 19:07:13 111 1

原创 语言基础阶段选择题

下列选项中不符合Python语言变量命名规则的是? CA. TempStrB. iC. 3_1D. _AI以下选项中,关于Python字符串的描述错误的是?DA. Python语言中,字符串是用一对双引号或者一对单引号括起来的零个或者多个字符B. 字符串包括两种下标体系:正向递增和反向递减C. 字符串是字符的序列,可以按照单个字符或者字符片段进行获取D. Python字符串提供区间访问方式,采用[N:M]格式,表示字符串中从 N 到 M 的索引子字符串(包括 N 和 M)..

2021-02-24 19:42:31 2268

原创 Day 17 面向对象(方法, 属性)

Day 17 面向对象(方法, 属性)1.方法1)对象方法怎么定义:直接定义在类中的函数怎么调用:通过对象调用特点:有默认参数self,self在调用的时候不用传参,系统自动将当前对象传给self什么时候用:如果实现函数的功能需要对象属性就使用对象方法(对象方法中的self可以用来提供需要所有的对象属性)2)类方法怎么定义:在类中定义函数前加装饰器@classmethod怎么调用:通过类调用,特点:自带参数cls,cls在调用的时候也不需要传参,系统会自动将当前类传给cls(谁调用就指向

2021-02-24 17:34:53 68

原创 day16-面向对象作业

定义一个矩形类,拥有属性:长、宽 拥有方法:求周长、求面积class Rect: def __init__(self, long1=10, width1=20): self.long = long1 self.width = width1 def area(self): print(f'面积:{self.long * self.width}') def perimeter(self): print(f'周长:..

2021-02-23 22:48:15 61

原创 Day 16 re模块

Day 161.re模块1.re.compile(正则表达式)根据正则表达式创建一个正则表达式对象re_obj = re.compile('\d{3}')re_obj.fullmatch('234')re_obj.search('jshdfjk238jhskfskdf890')2.re.fullmatch(正则表达式,字符串)获取字符串和正则表达式完全匹配的结果(看整个字符串是否满足正则的规则);如果匹配失败返回None,如果匹配成功返回匹配对象result = re.fullmatch

2021-02-23 17:48:01 69

原创 Day 16 认识类和对象

Day 16 认识类和对象1.什么是类?1.什么是类什么是对象类:就是拥有相同属性和相同功能的对象的集合(抽象的)对象:对象就是类的实例(类的具体表现)生活的角度来看:衣服、人、文具、电脑都是类如果人是类,余婷就是对象、骆昊也是对象如果电脑是类,我桌上的这台电脑就是对象如果车是类,楼下那辆奔驰是对象2.定义类用代码描述这个类是拥有哪些相同属性和哪些相同功能的对象的集合class 类名: 类的说明文档 类的内容说明:class - 关键字;固定写法类

2021-02-23 17:46:36 90 1

原创 day15正则表达式作业

利用正则表达式完成下面的操作:1.用户名匹配​ 要求: 1.用户名只能包含数字 字母 下划线​ 2.不能以数字开头​ 3.⻓度在 6 到 16 位范围内from re import fullmatchre_str = '[a-zA-Z_][a-zA-Z_\d]{5,15}'user_name = fullmatch(re_str, 'hdvjhjA')print(user_name)密码匹配​ 要求: 1.不能包含!@#¥%^&*这些特殊符号

2021-02-22 22:56:14 130

原创 Day 15 正则表达式

Day 15 正则表达式1.什么是正则表达式正则表达式是让复杂的字符串处理变得更加简单的工具2.正则语法from re import fullmatch,search,findall# 用之前先导入,从re模块中导入fullmatch(正则表达式,字符串) —— 判断指定的字符串是否满足正则表达式描述的规则,如果不满足返回Nonepython中正则表达式是写到单引号或者双引号里面,例如:‘正则表达式’;js中正则表达式是放在两个/之间的,例如:/正则表达式/1.匹配类符号匹配类符号的特点

2021-02-22 17:53:40 134

原创 Day 15 异常捕获

Day 15 异常捕获1.异常捕获1.什么是异常:程序运行的时候报错了,我们程序出现了异常程序异常的后果:程序会在异常的地方直接结束,不会往后继续执行2.异常捕获:目的:当程序出现异常的时候,程序不崩溃还可以接着执行后面的代码什么时候需要捕获:知道某个地方会因为不可控因素出现异常时就可以使用异常捕获(例如用户的不当操作)age = int(input('请输入年龄:')) # 如果输入非数字会捕获异常print(f'年龄是:{age}')异常捕获的语法:语法1:—— 捕获所有类型

2021-02-22 17:50:59 79

原创 # Day 14 数据持久化

Day 14 数据持久化1.文件上下文with open( ) as 文件对象:​ 文件上下文(可以操作文件的位置)with open('./合同') as f: f.read() f.read()# 离开文件上下文之后文件会自动关闭2.数据持久化的方法数据持久化需要做到以下三点1)创建文件保存需要持久的数据2)在程序中每次需要这个数据,不直接赋值而是从文件中去读取它的值3)在程序中如果修改这个数据的值,需要这个最新的值更新到文件中# 练习:在程序中用

2021-02-10 13:01:15 171 1

原创 Day 13 系统的模块、文件操作

Day 13 系统的模块、文件操作1.工作中1).os模块——文件操作系统(主要提供文件和文件夹相关操作):listdir(目录地址)——返回指定目录下所有文件的文件名result = os.listdir()2).sys模块——系统相关操作,例如:exit( ) ——退出线程3).json模块—— json数据处理(后面讲)4).re模块——正则表达式相关操作5).math模块ceil( 浮点数)——将浮点数转换成整数(向大取整)floor(浮点数)——将浮点数转换成整数(向小取整)

2021-02-04 17:58:31 123

原创 Day12 作业

Day12 作业1.已经两个列表A和B,用map函数创建一个字典,A中的元素是key,B中的元素是valueA = ['name', 'age', 'sex']B = ['张三', 18, '女']result = map(lambda item1, item2: (item1, item2), A, B)print(dict(result))2.已经三个列表分别表示5个学生的姓名、学科和班号,使用map将这个三个列表拼成一个表示每个学生班级信息的的字典s = ['小明', '小花', '

2021-02-03 21:05:33 134

原创 Day 12 模块、包

Day 12 模块、包1.模块1.什么是模块一个py文件就是一个模块,模块名指的是py文件的文件名python中可以在一个模块中去使用另外一个模块(命明要规范)中所有的全局变量,但是要先导入2.导入模块1.直接导入模块import 模块名 —— 导入指定模块,导入后需要通过’模块名.xxx’的形式使用模块中的内容import testprint(test.a)test.func1()print(test.name)2.导入模块中的变量from 模块名 import 变量名

2021-02-03 17:34:14 73

原创 Day 11 函数进阶

Day 11 函数进阶1.返回值1.什么是返回值从函数内部传递到函数外部的数据就是返回值2.什么时候函数需要返回值(新手)如果实现函数的功能产生了新的数据,那么函数就需要通过返回值把新产生的数据返回3.怎么将数据返回1)怎么确定返回值return后面的值就是返回值(如果没有return,默认返回None)2)怎么获取函数返回值函数调用表达式的值就是函数返回值def sum1(a,b): return a+b # a+b的结果就是返回的数据s = sum1(10, 2

2021-02-03 17:32:06 87

原创 day11函数作业2

写一个匿名函数,判断指定的年是否是闰年 year = lambda year:year % 4 == 0 and year % 100 != 0 or year % 400 ==0 print(year(2010))写一个函数将一个指定的列表中的元素逆序( 如[1, 2, 3] -> [3, 2, 1])(注意:不要使用列表自带的逆序函数) reverse = lambda list2:list[-1::-1]写一个函数,获取指定列表中指定元素的下标(如果指定元素有多个,将每个.

2021-02-02 21:32:07 117

原创 Day 11 函数进阶

Day 11 函数进阶1.返回值1.什么是返回值从函数内部传递到函数外部的数据就是返回值2.什么时候函数需要返回值(新手)如果实现函数的功能产生了新的数据,那么函数就需要通过返回值把新产生的数据返回3.怎么将数据返回1)怎么确定返回值return后面的值就是返回值(如果没有return,默认返回None)2)怎么获取函数返回值函数调用表达式的值就是函数返回值def sum1(a,b): return a+b # a+b的结果就是返回的数据s = sum1(10, 2

2021-02-02 17:53:13 80

原创 10 函数作业

# 1. 编写一个函数,交换指定字典的key和value。# 例如:dict1={'a':1, 'b':2, 'c':3} --> dict1={1:'a', 2:'b', 3:'c'}def exchange(dict1): result = [(dict1[x], x) for x in dict1] print(dict(result))# 2. 编写一个函数,提取指定字符串中所有的字母,然后拼接在一起产生一个新的字符串# 例如: 传入'12a

2021-02-01 21:43:39 63

原创 Day 10 函数基础

函数基础1.字符串1.字符串的相关应用zfill字符串.zfill(宽度)1 —>0001num = 3result = str(num).zfill(4)print(result) # 0003result = f'{num:0>4}'print(result) # 0003split --切割字符串1.split(字符串2)—将字符串1所有的字符串2作为切割点,对字符串1进行切割,返回列表。如果有n个切割点,则切割后有n+1个字

2021-02-01 19:41:07 137

原创 序列基础练习题

Week 2 周末作业(列表基础练习题)选择题下列选项中能正确表示一个列表的是(D)。A.{1, 2, 3}B.[10, abc, 123]C. [10 20 30]D.[1, 2, 3](多选)已知一个列表nums = [10, 20, '小明', [1, 2]],以下表达式结果是小明的是?(C,D)A. nums[-3]B. nums[3]C.nums[-2]D. nums[2]以下选项关于列表说法错误的是?(C)A. 列表可以放在for循环的in后面B. 列

2021-01-30 10:49:51 571

原创 day8-字符串作业

输入一个字符串,打印所有奇数位上的字符(下标是1,3,5,7…位上的字符)例如: 输入**'abcd1234 ’ ** 输出**‘bd24’**m = 'abcd1234 'for index in range (len(m)): if index % 2 == 1: print(m[index], end = ' ')输入用户名,判断用户名是否合法(用户名长度6~10位)user_name = input('请输入用户名:')for x in user_na..

2021-01-28 20:58:11 162

原创 Day8 元组,集合,字符串

Day 8 元组,集合,字符串1.元组1. 什么是元组?(tuple)元组是容器(序列),将()作为容器的标志,里面多个元素用逗号隔开:(元素1,元素2,元素3,…)2.元组作为容器的特点1)不可变的(不支持增,删,改)1.查:列表获取元素的方法元组都支持t1 = (10, 20, 30,'True',[1,2],{'a':100})print(t1,type(t1)) #(10, 20, 30, 'True', [1, 2], {'a': 100}) <class 'tuple'

2021-01-28 17:45:32 170

原创 day7-列表和字典作业

Day7, 作业1.创建一个列表,列表中有10个舒宗, 保证列表中元素的顺序,对列表进行排重,并对列表使用进行降序排序例如:随机生成了[70, 88, 91, 70, 107, 234, 91, 177, 282, 197] --- 去重之后 [70, 88, 91, 107, 234, 177, 282, 197] ---- 降序排序 [282, 234, 197, 177, 107, 91, 88, 70]scores = [70, 88, 91, 70, 107, 234, 91,

2021-01-27 23:34:38 257

原创 # Day07

Day 071.列表推导式1)序列统一变换成列表nums = [10,20,35,46]list2 = [x*100 for x in nums]print(list2)list3 = [x % 10 for x in nums]print(list3)2)筛选(提取有效的或删除无效的)scores =[34, 56, 78, 90, 24, 35, 46, 58, 69, 98]new_scores = [x for x in scores if x >= 60]print

2021-01-27 17:57:10 149

原创 # 06 Day

06 Day1.CRAPS赌博游戏CRAPS赌博游戏:玩家摇两颗色子,如果第一次摇出了7点或11点,玩家胜;如果摇出了2点、3点或12点,庄家胜;其他情况不分胜负,游戏继续。玩家重新摇色子,如果摇出了第一次摇的点数,玩家胜;如果摇出了7点,庄家胜其他情况游戏继续,直到分出胜负。import randommoney = 1000while money > 0: print(f'玩家总资产:{money}元') debt = int(input('请下注:'))

2021-01-26 20:59:40 93

原创 #Day5笔记

Day5笔记1.认识列表1)什么是列表列表是容器型数据类型,将[]作为容器标志,里面多个元素用逗号隔开:[元素1,元素二2,元素三,...]列表是可变的(元素的个数,值,顺序可变);列表是有序的(元素有固定位置信息--下标)列表对于元素的要求:任何python支持的类型的数据都可以作为列表,同一个列表的元素的类型可以不同list4 = [10,20,[1,2],True,'abc',]2.获取元素-查1)获取单个元素语法;列表[下标]-获取列表中指定下标对应的元素什么是下标:下标又叫

2021-01-26 20:58:52 93

原创 day5-列表作业

1.已知一个数字列表,求列表中心元素。scores =[34, 56, 23,12,78, 90, 24, 35, 46, 58, 69, 98]sum=len(scores)if sum % 2 == 0: print((scores[int(sum / 2)]+scores[int((sum /2) -1)])/2)else: print(scores[int(sum+1)]/2-1)2.已知一个数字列表,求所有元素和。scores =[34,56,78,90,24,35

2021-01-26 20:56:34 110

空空如也

空空如也

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

TA关注的人

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