自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 python爬虫-scrapy基于CrawlSpider类的全站数据爬取

文章目录一、CrawlSpider类介绍1.1 引入1.2 介绍和使用介绍使用二、案例:古诗文网全站数据爬取一、CrawlSpider类介绍1.1 引入使用scrapy框架进行全站数据爬取可以基于Spider类,也可以使用接下来用到的CrawlSpider类。基于Spider类的全站数据爬取之前举过栗子,感兴趣的可以康康scrapy基于Spider类的全站数据爬取scrapy基于CrawlSpider类的全站数据爬取1.2 介绍和使用介绍CrawlSpider是Spider的一个子类,因

2021-02-19 19:54:02 661

原创 python爬虫-scrapy五大核心组件和中间件

文章目录一、scrapy五大核心组件Spiders(爬虫)Scrapy Engine(Scrapy引擎)Scheduler(调度器)Downloader(下载器)ItemPipeline(项目管道)二、工作流程三、中间件3.1 下载中间件3.1.1 UA伪装3.1.2 代理IP3.1.3 集成selenium3.2 爬虫中间件一、scrapy五大核心组件下面这张图我们在python爬虫-scrapy基本使用见到过,下面就稍微介绍一下scrapy的五大核心组件和中间件Spiders(爬虫)&nbsp

2021-02-18 19:39:49 817

原创 Java设计模式-模板方法模式

文章目录一、简介1.1 引入1.2 定义二、模式原理2.1 模式组成2.2 UML类图三、实例3.1 实例概况3.2 步骤3.3 UML类图四、优缺点4.1 优点4.2 缺点五、应用场景六、与其他模式的关系一、简介1.1 引入在生活中,有很多事情我们需要按照确定的步骤去执行,但某些步骤的具体内容可能并不一样比如:去银行办理业务流程,一般要经过:取号-排队-办理相关业务三个流程。但办理相关业务并不确定,可能是存款、取钱、转账、挂失等等银行办理业务的流程就像是一个被封装好的模板,每个客户都会按照这个

2021-02-18 14:40:58 157

原创 python爬虫-scrapy基于ImagesPipeline管道类的图片数据爬取

在scrapy中,有一个专门基于图片请求和持久化存储的ImagesPipeline管道类,当我们想要使用scrapy实现图片数据的爬取时,可以直接使用该管道类下面我们将要使用ImagesPipeline管道类爬取"全景视觉"网站的图片并保存到本地pipelines.py:ImagesPipeline管道类写在pipelines.py文件中# 导入ImagesPipeline类from scrapy.pipelines.images import ImagesPipeline#ImagesPi

2021-02-17 22:24:11 489 2

原创 Java设计模式-享元模式

文章目录一、简介1.1 引入1.2 定义外部状态和内部状态二、模式原理2.1 模式组成2.2 UML类图三、实例3.1 实例概况3.2 步骤3.3 UML类图四、优缺点4.1 优点4.2 缺点五、应用场景六、与其他模式的关系一、简介1.1 引入一个类中的成员变量表明这个类所创建的对象具有的属性,而我们可能会使用程序的中某一个类创建多个对象,你们这些对象之间可能会存在一部分属性值是完全相同的。现在我们创建一个Car类,然后用这个类创建carA和carB两辆同型号的轿车他们的长宽高相同,但颜色和功率不同

2021-02-17 17:23:41 174 1

原创 python爬虫-scrapy基于Spider类的全站数据爬取

很多时候,在我们爬取一些网站时,都会发现他们有多页的数据,通过观察能够发现,不同页的url之间有相似之处的,而且网页的url和对应的页码也是有关系的。所以之前我们会做一个循环,遍历所有页面中的数据当我们使用scrapy框架处理多页数据时有两种方法将每一页对应的url存放到爬虫文件的start_urls,但如果页数较多时,列表就会变得很大使用Request方法手动发起请求(推荐使用)...

2021-02-16 23:01:01 394

原创 python爬虫-scrapy的数据持久化存储

文章目录一、基于终端指令的持久化存储二、基于管道的持久化存储一、基于终端指令的持久化存储目的:爬取百度网页中百度热榜中的序号和标题,并通过终端指令,将爬取到的数据进行持久化存储(将爬取到的数据保存到本地)使用:在终端输入指令,将爬取到的数据保存到不同格式的文件中scrapy crawl 爬虫文件名称 -o 文件名.jsonscrapy crawl 爬虫文件名称 -o 文件名.xmlscrapy crawl 爬虫文件名称 -o 文件名.csv输入指令输出结果:生成一个csv文件,并将

2021-02-16 21:53:12 358 1

原创 Java设计模式-外观模式

文章目录一、简介1.1 引入1.2 定义二、模式原理2.1 模式组成2.2 UML类图三、实例3.1 实例概况3.2 步骤3.3 UML类图四、优缺点4.1 优点4.2 缺点五、应用场景一、简介1.1 引入在寒假结束以后,开学第一天,数学老师进门说:“你们把寒假作业交上来”,每个人独自来我办公室交作业。于是,同学陆续前往办公室交作业,一下子,办公室被围得水泄不通。语文老师听说了数学老师的"事迹",让语文课代表把所有同学的寒假作业收齐以后,统一送到语文老师的办公室。我们能够看到,语文老师办法显然

2021-02-16 14:38:48 81

原创 python爬虫-scrapy基本使用

文章目录一、介绍二、基本使用2.1 环境安装2.2 scrapy使用流程2.3 文件解析2.4 settings.py一些常见的设置三、实例3.1 实例要求3.2 实例代码3.3 输出结果一、介绍下面这张图大家应该很熟悉,很多有关scrapy框架的介绍中都会出现这张图,感兴趣的再去查询相关资料,当然学会使用scrapy才是最主要的。二、基本使用2.1 环境安装linux和mac操作系统:pip install scrapywindows系统:先安装wheel:pip install w

2021-02-15 20:21:27 421 2

原创 Java设计模式-组合模式

文章目录一、简介1.1 引入1.2 定义二、模式原理2.1 模式组成2.2 UML类图三、实例3.1 实例概况3.2 步骤3.3 UML类图四、优缺点4.1 优点4.2 缺点五、应用场景一、简介1.1 引入在现实生活中,存在很多"部分-整体"的关系,他们通常都可以用树形结构来表示。比如:大学中的学院与系、军队中的军士结构、公司中的部门分级情况还有文件系统中的文件与文件夹。我们可以将系统中的一个文件夹看成一个容器对象,它包含了多个文件和文件夹,子文件夹中又可以包含多个文件和文件夹。而文件夹(容器对象

2021-02-15 14:45:59 233 3

原创 Java设计模式-装饰者模式

文章目录一、简介1.1 引入1.2 定义二、模式原理2.1 模式组成2.2 UML类图三、实例3.1 实例概况3.2 步骤3.3 UML类图四、优缺点4.1 优点4.2 缺点五、应用场景一、简介1.1 引入在许多设计当中,我们可能需要对一个类创建的某个对象进行改进,而不是改进这个类创建的全部对象。比如:一个摩卡咖啡类(Mocha),我们用摩卡咖啡类创建4杯咖啡,2杯咖啡什么都不加,一杯咖啡加牛奶,一杯咖啡加糖,我们应当怎么做?我们不可能修改摩卡咖啡类(Mocha),因为这样做我们得到的全部对象,依然只

2021-02-14 14:48:32 161

原创 Java设计模式-桥接模式

文章目录一、简介1.1 问题引入1.2 定义二、模式原理2.1 模式组成2.2 UML类图三、实例3.1 实例概况3.2 步骤3.3 UML类图四、优缺点4.1 优点4.2 缺点五、应用场景一、简介1.1 问题引入假如我们有一个几何类,从它扩展出两个子类:圆形和方形,现在我们需要为这些几何子类添加颜色,所以需要为圆形类和方形类都添加红色和蓝色的颜色子类。当我们添加一个三角形类时,就需要为三角形类添加所有已存在的颜色子类。假设我们已经有了多个颜色子类,现在需要添加一个新的的形状,那么就需要为这个新的形

2021-02-13 10:32:37 118

原创 Java设计模式-适配器模式

文章目录一、简介1.1 引入1.2 定义1.3 模式组成二、适配器模式分类2.1 类适配器2.2 对象适配器2.3 接口适配器三、实例3.1 实例3.2 步骤3.3 UML类图3.4 对象适配器解题的UML类图四、优缺点4.1 优点4.2 缺点五、应用场景一、简介1.1 引入我国的家庭用电是220v,但我们不能直接用220v的电压来给手机充电,而是通过变压器降压,而手机充电器就充当变压器的功能,它实现了220v到5v电压的转变(假定手机充电器的输出电压为5v),这里手机充电器就相当于一个电源适配器

2021-02-10 14:49:45 165 1

原创 Java设计模式-建造者模式(生成器模式)

文章目录一、简介1.1 引入1.2 定义1.3 建造者模式和工厂模式的区别二、模式原理2.1 模式组成2.2 UML类图2.3 组成代码三、实例3.1 实例概况3.2 步骤3.3 UML类图四、优缺点4.1 优点4.2 缺点五、应用场景一、简介1.1 引入在现实世界中,一个对象往往是由多个对象或多个步骤去完成,比如:购买披萨的过程,在购买披萨的过程中可能会有不同的流程首先将披萨制作完成,然后把大块披萨切成小块,最后打包首先将披萨制作完成,然后先打包,回家后自己切披萨首先将披萨制作完成,如果是小

2021-02-09 14:46:19 191

转载 python爬虫-Cookie和Session

文章目录1. 前言2. Cookie2.1 利用Cookie实现模拟登陆的两种方式3. Session3.1 利用request创建session对象的步骤1. 前言有一些网站,登陆和没登录的权限不同,还有一些网站必须要先登陆才能进入使用。在利用python爬虫模拟登陆时,经常不能请求到登陆后的界面信息,这时就会用到cookie,这里简单介绍一下Cookie和Session的概念2. Cookiecookie记录了包括登录状态在内的所有信息,这些信息由服务器生成和解释,服务器通过客户端携带的co

2021-02-08 21:11:30 348 1

原创 Java设计模式-原型模式

文章目录一、简介1.1 定义1.2 clone方法和Cloneable接口clone()方法Cloneable接口1.3 浅拷贝和深拷贝浅拷贝(浅复制、浅克隆)深拷贝(深复制、深克隆)1.4 利用序列化实现深拷贝二、模式原理2.1 模式组成2.2 UML类图三、实例3.1 实例代码3.2 UML类图四、优缺点4.1 优点4.2 缺点一、简介1.1 定义定义:原型(Prototype)模式属于创建者模式。通过创建一个实例作为原型,并且通过复制这些原型来创建新的对象。原型对象需要提供一个方法(实现cl

2021-02-08 13:55:53 86 1

原创 python爬虫-古诗文网验证码识别

文章目录一、前期准备二、示例代码一、前期准备古诗文网验证码识别,是通过对古诗文网登陆界面的验证码图片进行识别的,利用专门的验证码识别网站,可以提取验证码图片中的验证码网站推荐:超级鹰注册登陆超级鹰网站因为验证码识别需要消耗题分,所以需要先购买题分(1块钱1000题分,每次识别10题分就差不多了)选择"软件ID"选项,生成一个软件ID(后面会用到),只需要自己填写一个软件名称即可点击开发文档,选择对应的开发语言,下载示例文档下载示例文档,注意按照要求对下载的示例文档

2021-02-07 16:03:44 1276

原创 Java设计模式-抽象工厂模式

文章目录一、简介1.1 引入1.2 定义1.3 抽象工厂模式与工厂方法模式的区别二、模式原理2.1 模式组成2.2 UML类图三、实例3.1 实例概况3.2 步骤3.3 UML类图四、优缺点4.1 优点4.2 缺点五、应用场景六、模式的扩展6.1 "开闭原则"的倾斜性6.2 工厂模式的退化一、简介1.1 引入为了更清晰地理解工厂方法模式,首先引入两个概念产品等级结构:产品等级结构表示产品的继承结构,同一产品等级表示的是同一类型的东西。如一个抽象类是手机,其子类有华为手机、小米手机。那么抽象父类手机

2021-02-07 11:15:46 179

原创 python爬虫-XPath案例

文章目录案例一:4k图片解析下载案例二:全国城市名称爬取案例一:4k图片解析下载目的:爬取并下载相关网站中的图片网站地址示例代码import requestsfrom lxml import etreeimport osimport time// 1. 创建文件夹,然后获取url,进行UA伪装if not os.path.exists('./4kpic'): os.mkdir('./4kpic') url = 'http://pic.netbian.com/4kb

2021-02-06 16:26:09 411

原创 Java-静态代码块、构造代码块、构造函数

文章目录一、构造函数二、构造代码块三、静态代码块四、Java中的初始化顺序4.1 在一个类中的初始化顺序4.2 继承中的初始化顺序执行顺序:静态代码块>main函数>构造代码块>构造函数一、构造函数class A{ public A(){ //构造函数 }}构造函数的注意事项:只有实例化对象时才会调用相应的构造函数,不创建对象构造函数不会被调用使用关键字new来调用构造函数二、构造代码块class A{ public A(){ //构造函数1 }

2021-02-06 14:03:11 118 1

原创 Java设计模式-工厂方法模式

文章目录一、简介二、模式原理2.1 模式组成2.2 UML类图三、实例3.1 实例概况3.2 步骤3.3 UML类图四、优缺点4.1 优点4.2 缺点五、应用场景一、简介工厂方法模式(Factory Method Pattern):又称为工厂模式,也叫虚拟构造器(Virtual Constructor)模式或者多态工厂(Polymorphic Factory)模式,它属于类创建型模式。在工厂方法模式中,工厂父类负责定义创建产品对象的公共接口,而工厂子类则负责生成具体的产品对象工厂方法模式将产品类的

2021-02-06 11:57:27 131

原创 python爬虫之XPath

文章目录一、XPath简介1.1 什么是XPath1.2 XML和HTML的区别1.3 XPath的节点关系1.3.1 节点类型1.3.2 节点关系二、XPath语法2.1 实例化etree对象2.2 选取节点2.3 选取未知节点2.4 选取若干路径三、常用函数一、XPath简介1.1 什么是XPathXPath 使用路径表达式在 XML 文档中进行导航XPath 包含一个标准函数库XPath 是 XSLT 中的主要元素XPath 是一个 W3C 标准1.2 XML和HTML的区别XM

2021-02-05 20:28:07 314

原创 Java设计模式-简单工厂模式

目录一、简介二、模式原理2.1模式组成2.2UML类图三、实例3.1实例概况3.2使用步骤四、优缺点4.1 优点4.2缺点五、应用场景一、简介简单工厂模式(Simple Factory Pattern):属于创建型模式,又叫做静态工厂方法模式,它属于类创建型模式。在简单工厂模式中,可以根据参数的不同返回不同类的实例。简单工厂模式专门定义一个类(SimpleFactory工厂类)来负责创建其他类的实例,被创建的实例通常都具有共同的抽象父类。 简...

2021-02-05 11:52:55 122

转载 python爬虫之BeautifulSoup4

文章目录一、BeautifulSoup4介绍二、BeautifulSoup库的解析器和四大对象类2.1 解析器2.2 BeautifulSoup的四大对象种类2.2.1 Tag标签2.2.2 NavigableString2.2.3 BeautifulSoup对象2.2.4 4. Comment三、 搜索文档find_all()方法3.1 name 参数3.1.1 传字符串3.1.2 传正则表达式3.1.3 传列表3.2 keyword 参数3.3 text 参数四、CSS选择器4.1 通过标签名查找4.2

2021-02-04 19:03:38 205

原创 Java设计模式-单例模式

文章目录一、单例模式的定义与特点1.1单例模式的定义1.2 单例模式的特点二、单例模式的总体步骤:三、单例模式的分类3.1 饿汉式3.1.1 饿汉式(静态常量)3.1.2 饿汉式(静态代码块)3.2 懒汉式3.2.1 懒汉式(线程不安全)3.2.2 懒汉式(线程安全,同步方法)3.2.3 懒汉式(线程不安全,同步代码块)3.3 双重检查3.4 静态内部类3.5枚举3.6 模式的推荐使用四、单例模式的优点和缺点4.1 单例模式的优点:4.2单例模式的缺点:五、单例模式的应用场景一、单例模式的定义与特点1.

2021-02-04 11:18:25 60

原创 爬虫案例-糗事百科之糗图爬取

文章目录一、爬虫需要的库及方法二、程序代码三、重点分析一、爬虫需要的库及方法requests库requests.get(url,params,**kwg)url:若页面是通过Ajax加载的,则需要通过从XHR中找新的url,此时我们需要给params传参数;一般情况都是直接复制网页链接params:若页面是通过Ajax加载的,则需要给params传参数若发起的是get请求,则需要定义一个字典params,然后将params传给params;若发起的是post请求,则需要定义一个字典d

2021-02-03 17:30:25 422

原创 python爬虫之re库

文章目录一、导入re库二、使用正则表达式步骤三、正则表达式中常见的基本符号四、常见的正则表达式举例五、re库的核心函数六、匹配对象的方法(提取)七、re模块的属性(flag)7.1 re模块的常用属性有以下几个:八、正则表达式中语法一览表一、导入re库python使用正则表达式要导入re库。import re在re库中。正则表达式通常被用来检索查找、替换那些符合某个模式(规则)的文本。二、使用正则表达式步骤寻找规律;使用正则符号表示规律;提取信息,如果每一个字符都能匹配,则匹配成功;一旦

2021-02-03 13:18:49 1665

空空如也

空空如也

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

TA关注的人

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