自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 2021.04.08 线程和进程的使用

2021.04.08线程和进程的作用直接通过Thread创建子线程Thread(target=需要在子线程中调用的函数,args=(函数的实参列表))from threading import Threadimport timefrom datetime import datetimefrom concurrent.futures import ThreadPoolExecutorfrom threading import current_threaddef download(url):

2021-04-08 20:16:51 127

原创 2021.04.07 126邮箱自动登陆

2021.04.07126邮箱自动登陆from selenium.webdriver import Chromewb = Chrome()wb.get('https://mail.126.com/')wb.implicitly_wait(10)iframe = wb.find_elements_by_tag_name("iframe")[0]wb.switch_to.frame(iframe)wb.find_element_by_id('login-form').find_eleme

2021-04-07 10:23:37 312

原创 2021.03.31 代理的使用

2021.03.31代理的使用import requestsimport timefrom re import findallimport csvfrom selenium.webdriver import Chromefrom selenium import webdriver# 获取代理ipdef get_ips(): url = 'http://piping.mogumiao.com/proxy/api/get_ip_bs?appKey=6226c130427f48738

2021-03-31 19:22:28 159

原创 2021.03.30 selenium

2021.03.30selenium基本使用创建浏览器对象(谷歌)wb = Chrome()打开指定网页wb.get('https://www.51job.com/')获取当前浏览器中显示的页面的网页源代码print(wb.page_source)获取网页中的标签,并且操作标签根据选择器找到对应的标签: 浏览器对象.find_element_by_css_selector(css选择器)search_input = wb.find_element_by_css_selector(

2021-03-30 19:16:35 129

原创 2021.03.29 爬虫

2021.03.29爬虫爬虫基本步骤爬虫就是通过代码取获取别人网站上的数据1)获取网页数据 - requests和自动化测试工具(Selenium)2)解析数据 - 正则表达式、css选择器、xpath3)存储数据 - 表格文件(csv、openpyxl)和数据库文件获取网页数据认识网站一个网页由三个部分组成:html、css、javascript(js)html - 决定网页中有什么css - 决定网页中内容的样式(长什么样)js -

2021-03-29 20:37:23 83

原创 2021.03.26 面向对象的进阶

2021.03.26面向对象进阶对象属性的增删改查查 - 获取属性的值对象.属性 - 获取执行属性对应的值,如果属性不存在报错getattr(对象, 属性名) - 获取执行属性对应的值,如果属性不存在报错getattr(对象, 属性名, 默认值) - 获取执行属性对应的值,如果属性不存在不报错,直接返回指定的默认值class Student: def __init__(self, name, gender='男', age=18, tel=''): self.

2021-03-26 19:26:59 84

原创 2021.03.25 面向对象

2021.03.25面向对象面向过程编程 - 逻辑+基本语法print(10 + 20).函数式编程 - 函数+逻辑+基本语法sum((10, 20))def sum1(num1, num2): return num2 + num1面向对象编程 - 类和对象 + 函数+逻辑+基本语法什么是类,什么是对象类就是拥有相同属性和相同功能的对象的集合(抽象的)对象是类的实例 (具体)人类: 有名字、有年龄、有性别、有肤色,会说话,能思考,可以睡觉class Person:

2021-03-26 08:55:12 90

原创 2021.03.25 面向对象

2021.03.25面向对象面向过程编程 - 逻辑+基本语法print(10 + 20).函数式编程 - 函数+逻辑+基本语法sum((10, 20))def sum1(num1, num2): return num2 + num1面向对象编程 - 类和对象 + 函数+逻辑+基本语法什么是类,什么是对象类就是拥有相同属性和相同功能的对象的集合(抽象的)对象是类的实例 (具体)人类: 有名字、有年龄、有性别、有肤色,会说话,能思考,可以睡觉class Person:

2021-03-25 19:49:41 131

原创 2021.03.24正则匹配符号

2021.03.24正则表达式from re import fullmatch正则是一种用来处理文本数据的一种工具。(一般用于处理复杂的文本问题)1)检测输入的数据是否是手机号?2)检查输入的ip地址是否合法?3)获取字符串中所有的数字数据:‘sjhfj23世纪东方和79sk试试928sjd’正则的语法 - 用不同的符号来描述字符串规则​ 1) 匹配类符号​ 2) 检测类符号​ 3) 控制次数的符号​ 4) 分组和分支​ 5) 其他常用参数fullmatch(正则表达式, 字

2021-03-25 09:29:06 238

原创 2021.03.24正则匹配符号

2021.03.24正则表达式from re import fullmatch正则是一种用来处理文本数据的一种工具。(一般用于处理复杂的文本问题)1)检测输入的数据是否是手机号?2)检查输入的ip地址是否合法?3)获取字符串中所有的数字数据:‘sjhfj23世纪东方和79sk试试928sjd’正则的语法 - 用不同的符号来描述字符串规则​ 1) 匹配类符号​ 2) 检测类符号​ 3) 控制次数的符号​ 4) 分组和分支​ 5) 其他常用参数fullmatch(正则表达式, 字

2021-03-24 22:04:47 903

原创 2021.03.22迭代器和生成器

2021.03.22迭代器(iter)是序列迭代器作为序列无法获取元素的个数;打印迭代器的时候也没法查看所有的元素如果要获取元素的值必须将元素从迭代器中取出来,而且某个元素如果取出来了就无法再放回迭代器中(取一个就少一个)计划生成100个产品:XH0001 ~ XH1000创建迭代器1)将其他序列转化成迭代器 - 所有序列都可以转换成迭代器2)创建生成器iter1 = iter('abc')print(iter1) # <str_iterator object at

2021-03-22 19:08:27 93

原创 2021.03.18异常捕获

2021.03.18异常 - 程序报错异常捕获就是让程序在出现异常的时候不崩溃还可以接着往后执行1)语法1: - 捕获所有类型的异常try:代码段1(需要捕获异常的代码)except:代码段2(捕获到异常后会执行的代码)finally:代码段其他代码2)执行过程:先执行代码段1,如果代码段1在执行过程中出现了异常,程序不会奔溃,直接执行代码段2,执行完代码段2才继续执行后续其他代码try: print('====') print('abc'[5]) pri

2021-03-18 22:33:38 109

原创 2021.03.17模块

2021.03.17总结模块什么是模块,什么是包一个py文件就是一个模块,文件名就是模块名(如果一个模块想要被其他模块使用,模块名必须是标识符并且不是关键字)一个包含__init__.py文件的文件夹就是一个包使用其他中的内容一个模块可以使用另外一个模块中所有的全局变量,但是使用前需要先导入模块导入模块的语法:import 模块名 - 导入指定模块,导入后通过’模块名.x’去使用模块中所有的全局变量from 模块名 import 变量1, 变量2, 变量3, … -

2021-03-17 19:03:35 101

转载 2021.03.16高阶函数

2021.03.16总结函数的本质python中定义函数其实就是在定义一个类型是function的变量, 函数名就是变量名;变量能做的函数都可以做a = 10b = 'abc'c = [1, 29, 8]d = {'a': 23, 'b': 100}e = lambda x: x*2 # e 是变量"""def e(x): return x*2"""def func1(): # func1 是变量 print('函数')print

2021-03-16 19:43:20 122

原创 2021.03.15位置参数和关键字参数

2021.03.15总结位置参数和关键字参数根据函数调用的时候实参的传递方式分类重点:位置参数和关键字参数、参数默认值一般:参数类型说明和带*的不定长了解:**的不定长1)位置参数 - 让实参和形参在位置上一一对应2)关键字参数 - 调用的时候在实参前加’形参名='的结构3)位置参数和关键字参数可以一起用:位置参数必须在关键字参数的前面def func1(a, b, c): print(f'a:{a}, b:{b}, c:{c}')# 位置参数func1(10, 2

2021-03-15 20:59:25 3019

原创 2021.03.12函数

2021.03.12总结字符串格式化 - 字符串格式占位符语法:包含字符串占位符的字符串 % (数据1, 数据2, 数据3,…)说明:1)字符串占位符%s - 字符串对应的占位符(可以用任何类型的数据赋值)%d - 整数对应的占位符%f - 小数对应的占位符(默认保留6位小数); %.Nf - 保留N位小数2)数据数据的个数必须和前面占位符的个数保持一致数据可以是任何有结构的表达式当只有一个数据的时候括号可以省message = '%s今年%s岁!月薪:%s元'

2021-03-13 14:08:42 253

原创 2021.3.11 字符串

2021.3.11 字符串总结字符串(str)字符是容器型数据类型;将’’、""、""""""、’’’’’'作为容器的标志,里面的每个符号就是字符串的元素不可变;有序元素:字符串的元素就是引号中的每一个基本符号。元素又叫字符,字符又分为普通字符和转义字符两种。str1 = 'jl;,海事局s8*KM2323????'str2 = "jh函数23#hjj"str3 = """abc123qwasjdf阿斯顿发"""str4 = '''dkhak askdhf双方都'''

2021-03-11 22:57:01 450

原创 2021.03.10

2021.03.10总结1.列表相关方法2.元组(tuple)序列, (元素1, 元素2, …)不可变;有序元组是不可变的列表t1 = (10,)t2 = 19, 2, 34, 5print(t2)t3 = (10, 89)print(t3[0], t3[1])x, y = t3print(x, y)t4 = (19, 23, 45, 67, 78, 89)*x, y = t4print(y, x)x, y, *z = t43.字典​ 序列,{键1:值1, 键2

2021-03-10 20:20:19 72

原创 2021.03.09

2021.03.09总结列表1.clear() - 清空列表(删除列表中所有的元素)nums = [10, 2, 4, 5]nums.clear()print(nums) # []2.copy() - 复制原列表产生一个一模一样的新列表,将新列表返回​ 列表[:]、列表+[]、列表*1的功能和列表.copy()的功能一模一样​ id(变量) - 获取变量中保存的数据的地址nums = [10, 2, 4, 5] # 变量保存数据其实是保存的数据在内存中

2021-03-09 20:57:41 279

原创 2021.03.08

2021.03.08总结列表(list)1.列表是容器型数据类型; 将[]作为容器标志,里面多个数据用逗号隔开:[元素1, 元素2, 元素3,…]列表是可变(可变指的是元素的个数可变;元素的值变量;元素的顺序可变)、列表是有序的(每个元素都有一个表示元素在列表中位置的序号)元素(容器中的每个独立的数据就是元素):没有要求(任何类型的数据都可以作为列表的元素2.查 - 获取元素2.1 查单个 - 获取列表中某一个元素语法:列表[下标] - 获取列表中指定下标对应的元素说明:

2021-03-08 21:00:03 192

原创 2021.03.05

20210305总结统计个数的套路:定义变量保存最后的个数,默认值是0(count=0)循环取出需要被统计的对象(for循环)给出满足条件,条件满足的时候让个数加1求和的套路:s = 0for x in 范围: s += x循环关键字# continue、break、elsewhile True:要重复执行操作if 循环结束:break# 1、2、3、4、5、...、10# print(一个数)num = 1while True: print(num)

2021-03-06 09:21:44 97

原创 2021.03.04

总结1.if多分支 - 根据不同的条件做不一样的事情,但是要求条件之间存在:其中某一个条件成立了,另外的其他条件一定不会成立语法:if 条件语句1:代码段1elif 条件语句2:代码段2elif 条件语句3:代码段3…else:代码段N练习:1).根据分数对成绩进行评级:A(90 ~ 100)、B(80 ~ 89)、C(60~79)、D(60分以下),分数是有效的百分制分数score = 30# 方法一:if 90 <= score <= 100: pr

2021-03-04 22:58:12 521 1

原创 202133总结

总结1.内存大小的单位位(bit)1字节(byte) =8位1kb =1024字节1Mb =1024kb1G =1024Mb1T =1024G2.定义变量和重新给变量赋值的底层原理:​ 定义变量的时候会先根据数据去申请内存,内测申请多大看数据需要多大,然后将数据保存对应的内存中,最后将内存空间和变量进行关联。​ 重新给变量赋值的时候,会重新根据新的数据申请新的内存,然后将新的数据内存储存到新的内存中,最后将新的内存空间和原来的变量进行关联,原来的内存会被自动释放。id(变量)

2021-03-04 09:26:16 299 1

原创 202132总结

2021/3/2常用按键# ctr + s - 保存# ctr + c - 复制、拷贝# ctr + v - 粘贴# ctr + x - 剪切# ctr + z - 撤销# ctr + y / ctr + shift + z - 反撤销# ctr + / - 添加或者取消注释# ctr + a - 全选# 利用shift键选中部分:先点开始位置,然后按住shift再点结束位置。# 利用alt键产生多个光标注释1).单行注释:在注释内容

2021-03-02 21:04:53 218

空空如也

空空如也

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

TA关注的人

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