自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 MongoDB和Python的交互

MongoDB数据库pymongo安装pip install pymongo1.连接数据库#方式一client = MongoClient()#方式二 指定端口和地址client = MongoClient('localhost',27017)2.新增数据from pymongo import MongoClientfrom datetime import datetimeclass TestMongo(object): def __init__(self):

2021-07-04 21:42:10 164

原创 scrapy六

目录设置代理ip设置随机的请求头(u-a)scrapy集成seleniumRedisNoSQL和SQL数据库的比较Redis特性设置代理ip代理的作用:突破自身的IP访问限制隐藏自身真实的ip如何获取ip:付费代理代理ip的匿名度:透明 服务器知道这次使用了代理 也知道真实的ip匿名 服务器知道使用了代理 不知道真实的ip高匿 不知道使用了代理 也不知道真实的ipclass IPProxyDownloaderMiddleware: PROXIES = [ {"ip

2021-02-18 22:41:33 176

原创 Scrapy框架五

目录Scrapy 下载中间件设置随机请求头GitHub模拟登录用scrapy模拟登录人人Scrapy 下载中间件下载中间件是scrapy提供用于用于在爬虫过程中可修改Request和Response,用于扩展scrapy的功能使用方法:• 编写一个Download Middlewares和我们编写一个pipeline一样,定义一个类,然后再settings中开启Download Middlewares默认方法:处理请求,处理响应,对应两个方法process_request(self,requ

2021-02-18 18:14:51 211

原创 二叉树的前序遍历和中序遍历的结果重建二叉树

前序遍历第一个结点为根结点,根据根结点在中序遍历中的位置分割出左子树和右子树,对左子树和右子树使用递归求解出它们的根节点import java.util.Arrays;public class ClassA{ public TreeNode fun(int[] pre,int[] in) { if(pre.length==0||in.length==0) {return null;} TreeNode root=new TreeNode(pre[0]); for(int i=0;i&

2021-02-18 00:28:56 139

原创 Scrapy框架四

目录Scrapy 模拟登录Scrapy模拟登录人人网Scrapy下载图片下载图片案例 爬取汽车之家图片选择使用scrapy内置的下载文件的方法下载文件的 Files Pipeline下载图片的 Images Pipeline实现步骤爬取古诗网爬取微信小程序Scrapy 模拟登录scrapy有两个方法模拟登录:1 直接携带cookie2 找到发送post请求的URL地址,带上信息,发送请求Scrapy模拟登录人人网携带cookieScrapy下载图片下载图片案例 爬取汽车之家图片scrap

2021-02-17 21:50:03 406 3

原创 Scrapy框架三

文章目录Scrapy log信息的认知Scrapy shellScrapy settings说明和配置Scrapy CrawlSpider说明LinkExtractors链接提取器Rule规则类Scrapy log信息的认知2019-01-19 09:50:48 [scrapy.utils.log] INFO: Scrapy 1.5.1 started (bot: tencent)2019-01-19 09:50:48 [scrapy.utils.log] INFO: Versions: lxml

2021-02-17 11:55:16 255 1

原创 Scrapy框架(2)

目录yield关键字loggin模块的使用scrapy.Request知识点item的介绍和使用古诗文案例yield关键字生成器可以更加节省空间使用灵活return在运行之后程序就结束了,yield在返回之后可以继续执行后续的操作yield scrapy.Request对象会获取该对象,把链接给引擎然后由引擎交给调度器loggin模块的使用import scrapyimport logginglogger = logging.getLogger(__name__)class QbS

2021-02-17 00:19:56 97

原创 Scrapy简介

目录Scrapy介绍Scrapy工作流程Scrapy入门pipline使用总结Scrapy介绍什么是ScrapyScrapy是一个为了爬取网站数据,提取结构性数据而编写的应用框架,我们只需要实现少量的代码,就能够快速的抓取Scrapy使用了Twisted异步网络框架,可以加快我们的下载速度官方文档:http://scrapy-chs.readthedocs.io/zh_CN/1.0/intro/overview.htmlScrapy的好处:可配置和扩展性高,框架是Twisted异步网络框架

2021-02-16 10:09:15 1147 3

原创 python多线程案例

目录进程介绍线程和进程之间的对比进程之间的通信进程池之间的通信进程和线程的区别爬取王者荣耀的高清图片进程介绍进程:正在执行的程序程序:没有执行的代码,是一个静态的线程和进程之间的对比进程:能够完成多任务,一台电脑上可以同时运行多个QQ线程:能够完成多任务,一个QQ中的多个聊天窗口根本区别:进程是操作系统资源分配的基本单位,而线程是任务调度和执行的基本单位进程之间的通信Queue-队列 先进先出共享全局变量不适用于多进程编程进程池之间的通信当需要创建的子进程数量不多时,可以直接利

2021-02-15 09:56:52 494 1

原创 python多线程(2)

目录线程间的资源竞争一互斥锁和死锁互斥锁死锁2.读入数据总结线程间的资源竞争一个线程写入,一个线程读取,没问题,如果两个线程都写入呢?一互斥锁和死锁互斥锁当多个线程几乎同时修改某一个共享数据的时候,需要进行同步控制某个线程要更改共享数据时,先将其锁定,此时资源的状态为"锁定",其他线程不能改变,只到该线程释放资源,将资源的状态变成"非锁定",其他的线程才能再次锁定该资源。互斥锁保证了每次只有一个线程进行写入操作,从而保证了多线程情况下数据的正确性。创建锁mutex = threading.

2021-02-13 23:10:16 101 1

原创 python多任务线程

系列文章目录提示:这里可以添加系列文章的所有文章的目录,目录需要自己手动添加例如:第一章 Python 机器学习入门之pandas的使用提示:写完文章后,目录可以自动生成,如何生成可参考右边的帮助文档文章目录系列文章目录前言一、pandas是什么?二、使用步骤1.引入库2.读入数据总结前言提示:这里可以添加本文要记录的大概内容:例如:随着人工智能的不断发展,机器学习这门技术也越来越重要,很多人都开启了学习机器学习,本文就介绍了机器学习的基础内容。提示:以下是本篇文章正文内容,下面案例

2021-02-12 18:57:14 268 3

原创 selenium实现12306购票

目录前言一、pandas是什么?二、使用步骤1.引入库2.读入数据总结前言提示:这里可以添加本文要记录的大概内容:例如:随着人工智能的不断发展,机器学习这门技术也越来越重要,很多人都开启了学习机器学习,本文就介绍了机器学习的基础内容。提示:以下是本篇文章正文内容,下面案例可供参考一、pandas是什么?示例:pandas 是基于NumPy 的一种工具,该工具是为了解决数据分析任务而创建的。二、使用步骤1.引入库代码如下(示例):import numpy as npimport p

2021-02-10 19:08:50 580 2

原创 selenium(2)

目录行为链Cookie操作Selenium页面等待打开多窗口和切换页面行为链有时候在页面中的操作可能要有很多步,那么这时候可以使用鼠标行为链类ActionChains来完成。比如现在要将鼠标移动到某个元素上并执行点击事件from selenium import webdriverfrom selenium.webdriver import ActionChainsimport timedriver = webdriver.Chrome()driver.get('https://www.ba

2021-02-10 09:38:38 216

原创 selenium

目录se一、pandas是什么?二、使用步骤1.引入库2.读入数据总结se提示:这里可以添加本文要记录的大概内容:例如:随着人工智能的不断发展,机器学习这门技术也越来越重要,很多人都开启了学习机器学习,本文就介绍了机器学习的基础内容。一、pandas是什么?示例:pandas 是基于NumPy 的一种工具,该工具是为了解决数据分析任务而创建的。二、使用步骤1.引入库代码如下(示例):import numpy as npimport pandas as pdimport matplot

2021-02-09 21:48:47 95

原创 BeautifulSoup4简介(2)

目录find相关方法搜索树修改文档树bs4-select()方法简单应用案例fake_useragent用bs4提取各城市天气数据爬虫和反爬虫的斗争find相关方法find_parents() 搜索所有父亲find_parrent() 搜索单个父亲find_next_siblings()搜索所有兄弟find_next_sibling()搜索单个兄弟find_previous_siblings() 往上搜索所有兄弟find_previous_sibling() 往上搜索单个兄弟find_al

2021-02-09 17:06:18 187

原创 BeautifulSoup4简介

文章目录基本概念一、pandas是什么?二、使用步骤1.引入库2.读入数据总结基本概念Beautiful Soup 是一个可以从HTML或XML文件中提取数据的网页信息提取库一、pandas是什么?示例:pandas 是基于NumPy 的一种工具,该工具是为了解决数据分析任务而创建的。二、使用步骤1.引入库代码如下(示例):import numpy as npimport pandas as pdimport matplotlib.pyplot as pltimport seabor

2021-02-09 11:22:28 244

原创 xpath和lxml模块

目录xpath介绍基本概念结点的关系基本使用工具安装模块的使用xpath介绍基本概念XPath(XML Path Language)是一种XML的查询语言,他能在XML树状结构中寻找节点。XPath 用于在 XML 文档中通过元素和属性进行导航。xml是一种标记语法的文本格式,xpath可以方便的定位xml中的元素和其中的属性值。lxml是python中的一个包,这个包中包含了将html文本转成xml对象,和对对象执行xpath的功能结点的关系<bookstore><boo

2021-02-08 18:05:16 255 2

原创 python正则表达式简介(2)

目录贪婪与非贪婪模式re模块常用方法分组功能csv模块贪婪与非贪婪模式在重复匹配时,正则表达式默认总是尽可能多的匹配,这被称为贪婪模式。例如,针对文本dxxxdxxxd,表达式(d)(\w+)(d)中的\w+将匹配第一个d和最后一个d之间的所有字符xxxdxxx。可见,\w+在匹配的时候,总是尽可能多的匹配符合它规则的字符。同理,带有?、*和{m,n}的重复匹配表达式都是尽可能地多匹配。校验数字的相关表达式:特殊场景的表达式:re模块常用方法compile⽅法是re模块的工厂法,⽤于将字

2021-02-08 17:40:47 251 3

原创 python正则表达式简介

系列文章目录提示:这里可以添加系列文章的所有文章的目录,目录需要自己手动添加例如:第一章 Python 机器学习入门之pandas的使用提示:写完文章后,目录可以自动生成,如何生成可参考右边的帮助文档文章目录系列文章目录前言一、pandas是什么?二、使用步骤1.引入库2.读入数据正则表达式模块前言提示:这里可以添加本文要记录的大概内容:例如:随着人工智能的不断发展,机器学习这门技术也越来越重要,很多人都开启了学习机器学习,本文就介绍了机器学习的基础内容。提示:以下是本篇文章正文内容

2021-02-06 11:57:46 229

原创 cookie和session的反反爬应用

目录cookiesession爬取ssl证书有问题的网站正则表达式cookiecookie网站为了辨别用户身份,进行Session跟踪而储存在用户本地终端上的数据(通常经过加密),由用户客户端计算机暂时或永久保存的信息,通过在客户端记录的信息确定用户身份。cookie可以用于反爬,针对这种情况,需要在请求头部中添加cookie,才能在爬取时获得想要的信息。网站举例:2020年有一段时间要浏览知乎内容,会自动跳转到登陆界面,强制要求登录才能浏览。(目前不再强制要求)以知乎热榜https://www.

2021-02-04 10:19:52 756 2

原创 python网络请求模块urllib和requests的简单应用

目录get案例post案例requestsget案例需求:爬取贴吧数据输入要爬取的贴吧主题输入起始页和终止页把每一页的数据保存到本地(例如 第一页.html 第二页.html)分析:url里面kw对应的是贴吧的主题,pn和页数有关,其余部分没有变化# 贴吧每一页的url分析'''https://tieba.baidu.com/f?kw=%E6%B5%B7%E8%B4%BC%E7%8E%8B&pn=0 第一页 https://tieba.baidu.com/f?kw=%E6

2021-02-03 12:59:33 202

原创 爬虫网络请求模块urllib

目录基本概念一、pandas是什么?二、使用步骤1.引入库2.读入数据总结基本概念提示:这里可以添加本文要记录的大概内容:例如:随着人工智能的不断发展,机器学习这门技术也越来越重要,很多人都开启了学习机器学习,本文就介绍了机器学习的基础内容。提示:以下是本篇文章正文内容,下面案例可供参考一、pandas是什么?示例:pandas 是基于NumPy 的一种工具,该工具是为了解决数据分析任务而创建的。二、使用步骤1.引入库代码如下(示例):import numpy as npimpor

2021-02-02 15:40:11 120 2

原创 网络协议&爬虫简介

文章目录端口通讯协议二、使用步骤1.引入库2.读入数据总结端口指TCP/IP协议中的端口,端口号的范围从0到65535,比如用于浏览网页服务的80端口,用于FTP服务的21端口通讯协议协议是指计算机通信网络中两台计算机之间进行通信所必须共同遵守的规定或规则二、使用步骤1.引入库代码如下(示例):import numpy as npimport pandas as pdimport matplotlib.pyplot as pltimport seaborn as snsimport

2021-02-02 00:36:48 627 2

原创 python异常&文件

文章目录1.异常简介2.异常的传播3.异常对象4.文件打开5.关闭文件6.读取文件7.较大文件的读取8.文件的写入9.二进制文件写入1.异常简介程序在运⾏过程中可能会出现⼀些错误。⽐如: 使⽤了不存在的索引,两个不同类型的数据相加…这些错误我们称之为异常处理异常 程序运⾏时出现异常,⽬的并不是让我们的程序直接终⽌!Python是希望在出现异常时,我们可以编写代码来对异常进⾏处理2.异常的传播当在函数中出现异常时,如果在函数中对异常进⾏了处理,则异常不会在进⾏传播。如果函数中没有对异常进⾏处

2020-10-28 12:42:53 77

原创 python模块

文章目录1.模块2.模块的创建3.模块的使用4.列表推导式5.生成器6.迭代器1.模块模块化指将⼀个完整的程序分解成⼀个个的⼩模块通过将模块组合,来搭建出⼀个完整的程序模块化的优点方便开发方便维护模块可以复用2.模块的创建在Python当中⼀个py⽂件就是⼀个模块在⼀个模块中引⼊外部模块 import 模块名(模块名就是py⽂件)可以引⼊同⼀个模块多次,但是模块的实例只会创建⼀次import 模块名 as 模块别名在⼀个模块内部都有⼀个__name__。通过它我们可以

2020-10-28 09:33:15 101

原创 python面向对象(3)

文章目录1.继承简介2.方法重写3.super()4.多重继承5.多态6.属性和方法1.继承简介继承是⾯向对象三⼤特性之⼀通过继承我们可以使⼀个类获取到其他类中的属性和⽅法在定义类时,可以在类名后⾯的括号中指定当前类的⽗类(超类、基类)继承提⾼了类的复⽤性。让类与类之间产⽣了关系。有了这个关系,才有了多态的特性2.方法重写如果在⼦类中有和⽗类同名的⽅法,则通过⼦类实例去调⽤⽅法时,会调⽤⼦类的⽅法⽽不是⽗类的⽅法,这个特点我们称之为⽅法的重写(覆盖)当我们调⽤⼀个对象的⽅法时:会

2020-10-19 18:21:09 72

原创 python面向对象(2)

文章目录1.特殊方法2.封装3.property装饰器1.特殊方法在类中可以定义⼀些特殊⽅法也称为魔术⽅法特殊⽅法的形式__xxx__()特殊⽅法不需要我们调⽤,特殊⽅法会在特定时候⾃动调⽤类的构造方法__init__()class WebService: def __init__(self,request): self.request=request def doPost(): pass2.封装出现封装的原因:我们需要⼀种⽅式来增强数据的安全性属性不能随意

2020-10-19 16:51:57 79

原创 python面向对象(1)

文章目录1.迭代器2.面向对象3.类4.属性和方法5.self参数1.迭代器迭代器是访问集合元素的一种方式。迭代器是一个可以记住遍历位置的对象。迭代器对象从集合的第一个元素开始访问,指导所有元素被访问完结束。可以被next()函数调用并不断返回下一个值的对象称为迭代器Iterator生成器是可迭代的,是迭代器列表是可迭代的,但不是迭代器通过iter()函数可以将可迭代的变成一个迭代器可迭代对象: 序列, 字典, 迭代器,生成器 iter迭代器的方法: iter nextlist1

2020-10-15 18:05:10 104

原创 python函数(3)

文章目录1.高阶函数2.闭包3.装饰器的引入4.装饰器4.1使用装饰器5.推导式6.生成器1.高阶函数接收函数作为参数,或者将函数作为返回值返回的函数就是⾼阶函数# 参数为函数def bar(): print("function bar")def foo(func): func() print("function bar")foo(bar)foo(bar)# 返回值为函数def bar(): print("function bar") r

2020-10-15 17:31:23 139

原创 python函数(2)

文章目录1.函数的返回值2.文档字符串3.函数的作用域4.命名空间5.递归函数1.函数的返回值返回值就是函数执⾏以后返回的结果通过return来指定函数的返回值return后⾯可以跟任意对象,返回值甚⾄可以是⼀个函数2.文档字符串help()是Python中内置函数,通过help()函数可以查询Python中函数的⽤法在定义函数时,可以在函数内部编写⽂档字符串,⽂档字符串就是对函数的说明3.函数的作用域作⽤域(scope)指的是变量⽣效的区域在Python中⼀共有两种作⽤域

2020-10-14 22:46:08 203

原创 python函数(1)

文章目录1.函数简介2.函数的参数2.1形参和实参2.2函数的传递方式3.不定长参数4.参数的解包1.函数简介函数也是对象函数⽤来保存⼀些可执⾏的代码,并且可以在需要时,对这些语句进⾏多次调⽤语法:def 函数名([形参1,形参2,形参3....]): 代码块注意:函数名必须符合标识符的规范(可以包含字⺟、数字、下划线但是不能以数字开头)举例:print是函数对象,print()是调⽤函数2.函数的参数2.1形参和实参形参(形式参数) 定义形参就相当于在函数内部声明

2020-10-14 18:37:43 166

原创 python元组&字典&集合

1.元组简介元组基本介绍元组表现形式tuple元组是⼀个不可变序列(⼀般当我们希望数据不改变时,我们使⽤元组,其他情况下基本都⽤列表)使⽤()创建元素元组不是空元组⾄少有⼀个 逗号(,) 当元组不是空元组时括号可以省略元组解包指将元组当中的每⼀个元素都赋值给⼀个变量2.字典简介2.1字典的基本介绍字典属于⼀种新的数据结构称为映射(mapping)字典的作⽤和列表类似,都是⽤来存储对象的容器列表存储数据的性能好,但是查询数据的性能差,字典正好与之相反在字典中每⼀个元素都有

2020-09-25 11:44:13 283

原创 python列表

1.序列

2020-09-24 18:23:00 536

原创 python条件控制语句

1.条件判断语句(if语句)执⾏的流程:if语句在执⾏时,会先对条件表达式进⾏求值判断,如果为True,则执⾏if后的语句如果为False,则不执⾏语法:if 条件表达式 : 代码块代码块代码块中保存着⼀组代码,同⼀个代码块中的代码,要么都执⾏要么都不执⾏代码块以缩进开始,直到代码恢复到之前的缩进级别时结束代码块就是⼀种为代码分组的机制2.input() 函数该函数⽤来获取⽤户的输⼊input()调⽤后,程序会⽴即暂停,等待⽤户输⼊⽤户输⼊

2020-09-19 21:58:35 3571 1

原创 Python运算符

1.运算符1.1运算符的概念运算符⽤于执⾏程序代码运算,会针对⼀个以上操作数项⽬来进⾏运算。例如:2+3,其操作数是2和3,⽽运算符则是“+”1.2运算符的分类算术运算符赋值运算符⽐较运算符(关系运算符)逻辑运算符条件运算符(三元运算符)2.算术运算符加法运算符 表现形式 +减法运算符 表现形式 -乘法运算符 表现形式 *除法运算符 表现形式 /// 整除,只会保留计算后的整数位,总会返回⼀个整型% 取模,求两个数相除的余数** 幂运算,求⼀个值的⼏次幂3.赋值运算

2020-09-17 17:48:03 603

原创 Python基本数据类型

1.基本概念1.1表达式表达式,是由数字、算符、数字分组符号(括号)、⾃由变量和约束变量等以能求得数值的有意义排列⽅法所得的组合表达式特点表达式⼀般仅仅⽤于计算⼀些结果,不会对程序产⽣实质性的影响如果在交互模式中输⼊⼀个表达式,解释器会⾃动将表达式的结果输出1.2语句⼀个语法上⾃成体系的单位,它由⼀个词或句法上有关连的⼀组词构成语句的执⾏⼀般会对程序产⽣⼀定的影响,在交互模式中不⼀定会输出语句的执⾏结果1.3程序程序就是由⼀条⼀条的语句和⼀条⼀条的表达式构成的。1.4函数

2020-09-15 15:59:51 533

原创 Python要点

1.Python语言1.1 Python语言的基本概念Python 是⼀种极少数能兼具 简单 与 功能强⼤ 的编程语⾔。你将惊异于发现你正在使⽤的这⻔编程语⾔是如此简单,它专注于如何解决问题,⽽⾮拘泥于语法与结构官方对 Python 的介绍:Python 是一款易于学习且功能强大的编程语言。 它具有高效率的数据结构,能够简单又有效地实现面向对象编程。Python 简洁的语法与动态输入之特性,加之其解释性语言的本质,使得它成为一种在多种领域与绝大多数平台都能进行脚本编写与应用快速开发工作的理想语言

2020-09-14 18:53:35 152

原创 计算机要点

计算机要点一、计算机基本概述1. 计算机基本概念1.1 计算机是什么?计算机是一种用于高速计算的电子计算机器特点 : 数值计算 逻辑计算 存储记忆功能总结 : 能够按照程序运行、自动、高速处理数据的现代化智能电子设备1.2计算机的组成硬件:鼠标 键盘 显示器 CPU 硬盘… 看的见摸的着软件:通过编程,完成的一个一系列按照特定顺序组织的计算机数据和特定指令的集合2. 计算机语言概述2.1 计算机语言的基本概念概念:计算机语言指用于人与计算机之间通讯的语言。总结:计算机是能

2020-09-11 17:30:30 189

空空如也

空空如也

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

TA关注的人

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