自定义博客皮肤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)
  • 收藏
  • 关注

原创 爬虫day8通信和线程池进程池总结

day8通信和线程池进程池总结一、线程间通信1.线程间通信同一个进程中的多个线程可以直接通信(一个线程可以直接使用另外一个线程中产生的数据)通信原则:使用全局变量from threading import Thread, current_thread# 导入线程队列from queue import Queueimport timefrom random import randint# ======================案例1========================

2022-03-23 19:16:56 653

原创 爬虫day7多线程和多进程

爬虫day7多线程和多进程一、什么是线程和进程1、什么是进程一个正在运行的应用程序就是一个进程。每一个进程均运行在其专用且受保护的内存(运行内容)中2、什么是线程线程是进程执行任务的基本单元。进程要做什么事情,或者要干什么活必须要有线程。3、线程的特点如果要在一个线程中执行多个任务,任务是串行执行(一个一个的按照顺序执行)4、多线程默认情况下一个进程只有一个线程(一个工厂只有一个工人),多线程指的是在一个进程中有多个线程(一个工厂有多个工人)。多线程执行不同的任务可以并行(同时)执行

2022-03-22 17:12:55 515

原创 爬虫day6常见的反爬总结

day6常见的反爬总结一、爬虫流程第1步:确定爬虫对象(爬哪个网页的数据)第2步:找接口(网页检查,network-Fetch/xhr,刷新,点左下角name里的,看显示的preview有没有想要的信息,在Headers里面复制Request url)有接口:直接对接口发送请求 -> 成功(直接json解析)-> 失败就进入下一步没有接口,直接进入下一步第3步:用requests直接对原始网页地址发送请求1)请求成功 -> 解析数据(bs4、l

2022-03-22 16:58:23 893

原创 爬虫day5选项卡切换和xpath解析

爬虫day5选项卡切换和xpath解析一、xpath数据解析from lxml import etree1.lxml第三方库1)作用:lxml既可以解析xml内容也可以解析html内容2)xpath相关术语树 - 整个网页或者xml文件对应的结构节点 - 标签、元素根节点 - 最外层的标签绝对路径 - 从根节点开始写的路径相对路径 - 用.表示当前节点节点内容(内容) - 双标签的标签内容属性 - 标签属性2.xml数据结构"""xml数据和json数据一样,

2022-03-18 17:33:54 142

原创 爬虫day4 selenium高级用法

爬虫day4 selenium高级用法一、selenium常见设置from selenium.webdriver import Chrome, ChromeOptions1.创建配置对象options = ChromeOptions()2.添加配置1)取消测试环境options.add_experimental_option('excludeSwitches', ['enable-automation'])2)取消图片加载options.add_experimental_option

2022-03-17 20:44:39 1190

原创 爬虫day3接口和selenium基础总结

爬虫day3接口和selenium基础总结一、selenium的基本用法from selenium.webdriver import Chromefrom bs4 import BeautifulSoupfrom re import search1.创建一个浏览器对象b = Chrome()2.打开网页b.get('https://cd.zu.anjuke.com/?from=navigation')3.获取网页数据(能获取到的数据一定是网页加载出来的数据)# print(b.pa

2022-03-17 20:23:44 116

原创 爬虫day1总结

爬虫day1总结一、虚拟环境1.python系统环境安装python就是为了计算机提供运行python程序的环境(这个环境叫做系统环境)一个python环境中包含python解释器和已经安装过的所有第三方库。2.虚拟环境基于系统环境创建的其他的python环境如果没有虚拟环境只有一个系统环境,那么所有的第三方库就只能放在一起,这样容易突出,而且无法保存同一个第三方库的多个版本。如果使用虚拟环境就可以让不同类型或者不同相同拥有自己专属的运行环境。3.新建虚拟环境1)用pycharm新建虚拟

2022-03-17 19:41:55 257

原创 day20总结

day20excel文件操作总结一、excel文件读操作1.获取工作簿对象openpyxl.load_workbook(文件路径)import openpyxlworkbook = openpyxl.load_workbook('files\小宝剑大药房(高新店)2018年销售数据.xlsx')2.获取工作表1)获取当前工作簿中所有的工作表的表名a.工作簿对象[表名]names = workbook.sheetnamesprint(names)# 2) 获取工作表对象# a.工作

2022-03-16 19:25:30 51

原创 day19总结和作业

day19三大神器和csv文件一、迭代器1.什么是迭代器迭代器是容器型数据类型特点:无法通过打印迭代器查看元素、也无法统计元素个数;​ 需要使用元素的时候必须将元素从迭代器中取出,取出以后该元素就从迭代器中消失2.创建迭代器 - 将其他序列转换成迭代器i1 = iter('hello')i2 = iter([10, 20, 30, 40])i3 = iter({'a': 10, 'b': 20})i4 = iter({100, 200, 300})print(i1) #

2022-03-16 19:18:25 98

原创 day18总结和作业

day18一,匹配类符号1.正则表达式是一种可以让一些复杂的字符串问题变得简单的工具。2.正则语法(通用)1)re模块fullmatch(正则表达式,字符串) - 判断整个字符串是否满足正则表达式描述的规则(完全匹配)python提供正则表达式的方法:提供一个字符串,字符串内容是一个正则表达式,这个字符串的最前面需要加r2)正则语法内容包括:匹配类符号、控制次数的符号、分组和分支、检测类符号3.匹配类符号 - 约束字符串中某个位置上的字符是什么样的字符1)普通符号(字符)在正则表达式

2022-03-09 20:57:58 406

原创 day17总结和作业

day17面向对象和json一、属性1.属性定义类就是用代码描述清楚这个类是拥有哪些相同功能和哪些相同属性的对象的集合,方法(函数)用来描述相同功能,属性(变量)用来描述相同属性属性分为两种:类属性、对象属性1)类属性a.怎么定义:直接定义在类中的变量就是类属性b.怎么使用:通过’类.'的方式去使用c.什么时候用:如果属性值不会因为对象不同而不一样的时候2)对象属性a.怎么定义:以 ‘self.属性名 = 值’ 的方式定义在–_init–_方法中b.怎么使用:通过 ‘对象.’ 的方式去

2022-03-08 20:24:16 107

原创 day16总结

一、编程思想的转变1.面向过程编程(穷人思想)遇到问题马上想到的是解决问题的步骤和方案2.函数式编程(小资思想)遇到问题马上想到的是是否已经存在一个函数具备解决问题的能力,如果有直接用,没有就造一个3.面向对象编程(富豪思想)遇到问题马上想到有没有一个对象具备这个功能,如果有直接用,没有就创建这个对象(创建对象还要看有没有类,没有类还要创建类)二、类和对象1.认识类和对象类:类是具有相同功能和相同属性的对象的集合(一类食物的总称) - 是抽象的概念对象:对象就是类的实例(类的具体表现)

2022-03-07 20:22:45 47

原创 day15文件操作总结

day15文件操作总结一、文件操作基础1.数据持久化1)背景:程序中数据默认保存在运行内存中,保存阿紫运行内存中的数据在程序运行结束后会被销毁。 如果程序中的数据在程序结束后不销毁必须将数据通过文件的形式保存到磁盘中2)数据持久化又叫数据本地化,就是将程序中的数据存储到文件中的过程。3)常见的数据持久化工具:数据库(.db、.sqlite)、json文件、plist文件、csv文件、excel文件、txt文件等2.文件操作 - 操作的是文件内容基本操作基本流程:打开文件 ->

2022-03-07 20:22:14 89

原创 day14总结和作业

一、os模块1.os模块的作用os模块 - 文件或者文件夹(目录)或者路径相关操作例如创建文件夹、创建文件、删除文件、判断文件是否存在、获取路径、获取一个文件夹中所有的文件等1)返回当前工作目录import osprint(os.getcwd())2)获取指定文件夹中所有的内容的名字os.listdir(文件夹路径)import osresult = os.listdir('F:\千峰')print(result) # ['markdown语法.md', '代码', '作业', '

2022-03-03 20:39:15 83

原创 day13总结和作业

一、模块1.认识模块python中一个py文件就是一个模块模块分为系统模块和自定义模块两种系统模块:python自带的模块,例如:functools 、math、random、re、time、datetime、自定义模块:由程序员自己创建的模块2.导入模块怎么在一个模块中去使用另外一个模块的内容如果我们想要使用的内容(变量、函数、类)在另外一个模块中,可以用,但是使用之前必须先导入一个模块中的内容想要能被其他模块使用的前提:模块名必须符合变量名的要求(是标识符,不是关键字)3.怎么导入

2022-03-03 19:14:18 53

原创 day12总结和作业

day12总结一、匿名函数匿名函数的本质还是函数,他们除了定义的语法不同,其他的东西都一样语法:lambda 形参列表:返回值lambda num1, num2: num1+ num2二、变量的作用域1.变量的作用域:变量定义以后可以使用的范围根据变量作用域的不同将变量分为全局变量和局部变量两种2.全局变量和局部变量1)全局变量没有定义在函数和类里面的变量都是全局变量;全局变量的作用域是从定义开始到程序结束全局变量保存在全局的栈区间,全局栈区间在程序结束后才会自动释放2)局部变

2022-03-01 20:58:38 37

原创 day11总结和作业

day11函数基础一.认识函数二.定义函数1.什么是函数1).概念函数就是实现某一特定功能的代码的封装 - 一个函数对应一个功能(函数存储的功能)2).分类按照函数由谁创建的进行分类a.系统函数 - 由python语言已经创建好的函数(python自带的函数),例如:print、input、type、id、max、min、sorted、sum等b.自定义函数 - 由程序员自己创建的函数2.定义函数语法:def 函数名(形参列表):​ 函数说明文档​ 函数体说明:def

2022-02-28 20:58:16 43

原创 day10-字符串作业(1)

编写一个程序,交换指定字典的key和value。 例如:dict1={'a':1, 'b':2, 'c':3} --> dict1={1:'a', 2:'b', 3:'c'} dict1={'a':1, 'b':2, 'c':3}new_dict1 = {}for key, value in dict1.items(): new_dict1.setdefault(value, key) print(new_dict1)编写一个程序,提取指定字符串中所有的字..

2022-02-27 22:02:58 45

原创 day10-总结

day10总结字符串相关函数字符串相关方法格式字符串一,字符串相关函数1.相关函数: len、str 、evalstr(数据) - 将指定数据转换成字符串(任何类型的数据都可以转换成字符串;转的时候是直接在数据的打印值外面加引号)str(100) # '100'str(True) # 'True'eval(字符串) - 计算字符串表达式的结果str2 = '{10: 20, "abc": 30}' # {10: 20, 'abc': 30}resul

2022-02-27 22:02:21 93

原创 day9-总结和作业

day9总结和作业一、集合1.认识集合(set)集合是容器型数据类型,将{}作为容器的标志里面多个数据用逗号隔开:{数据1,数据2,数据3,…}可变的(支持增删改);无序(不支持下标操作)元素的要求:1.必须是不可变的数据 2.元素是唯一的空集合: set()集合是无序的print({1, 2, 3} == {3, 2,1}) # True集合元素必须是不可变类型的数据集合元素是唯一set3 = {10, 20, 10, 20, 30, 10}print(set3)

2022-02-24 21:00:51 66

原创 day8-字典和作业

day8总结认识字典字典的基本操作字典的增删改字典相关操作函数和方法字典推导式(了解)一、认识字典字典和列表的选择:需要同时保存多个数据的时候,如果多个数据的意义相同(不需要区分)就使用列表,如果多个数据的意思不同就用字典。认识字典(dict)a. 是容器型数据类型:将{}作为容器的标志,里面多个键值对 用逗号隔开:{键1:值1,键2:值2…}键值对的格式:键:值b. 特点字典是可变的(支持增删改);字典是无序(不支持下标,元素顺序不影响结果)c. 对元素的要求键

2022-02-23 21:00:51 82

原创 day7 - 总结和作业

day7 - 列表和元祖列表相关操作和相关函数列表相关方法列表推导式元祖一、列表相关操作1)数学运算符:+、*列表1+列表2 - 将两个列表合并成为一个新的列表list1 = [10, 20, 30]list2 = [100, 200]result = list1 + list2print(result) # [10, 20, 30, 100, 200]列表 * N 、N * 列表 - 将列表中的元素重复N产生一个新的列表print(list1 *

2022-02-23 00:23:46 270

原创 day6-总结和作业

day6总结认识列表列表查操作列表增删改操作一、认识列表1.什么是列表(list)a. 长什么样列表是容器型数据类型(一个列表可以同时保存多个数据);将[]作为容器的标志,里面多个元素用逗号隔开: [元素1, 元素2, 元素3, …]b.特点列表是可变的(可变指是列表中元素的个数、元素的值和元素的顺序可变); 列表是有序的(每个元素都位置对应的索引值)[10, 20, 30] -> [10, 20, 30, 40, 50][10, 20, 30] -> [20,

2022-02-22 22:52:15 136

原创 第一周作业(零基础)(1)

第一周作业一、选择题下列变量名中不合法的是?(C)A. abcB. NpcC. 1nameD ab_cd下列选项中不属于关键字的是?(D)A. andB. printC. TrueD. in下面哪个选项对应的代码写法是正确的?(C)A.print('Python') print('新手村')B.print('Python') print('新手村')C.print('Python')print('新手村')D.print('Python''新手

2022-02-21 09:02:39 41

原创 第四天总结和学习作业

今日内容总结主要有4点:一、流程控制 二、if分支结构 三、for循环 四、for循环的两个基本应用场景一、流程控制:控制代码执行顺序1、顺序结构:代码从上往下依次执行,每条语句只执行一次。2、分支结构:根据条件选择执行或者不执行部分代码(使用if)3、循环结构:让代码重复执行(for、while)例如a:print(“hello”)b:age = 10if age >= 18:​ print(‘成年’)else:​ print(‘未成年’)c:for _ in

2022-02-17 21:00:24 234

原创 第三天总结

第三天总结总体感觉需要逻辑思维,习惯了机械操作,突然要动脑的事情就很烦今天内容主要5点1变量 2数学运算符 3比较运算符 4逻辑运算符 5赋值运算符一、变量:一种专门用来保存数据的容器变量名=数据变量名要求是标识符,不能是关键字,具有见名知义的含义,不能使用系统函数名使用变量就是使用变量中保存的数据重新给变量赋值,使用变量就是新数据也可以同时定义多个变量例:Hero_name = ‘快乐风男’print(‘Hero_name’)length = ‘18cm’print(‘身高是:’

2022-02-16 21:04:49 353

空空如也

空空如也

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

TA关注的人

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