S++

千线一眼

导航

< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

统计

03 2022 档案

SpringMVC-初识SpringMVC
摘要:SpringMVC的开发步骤 导入SpringMVC的相关坐标 配置Servlet 编写Controller 将 Controller 使用注解 @Controller 配置到容器当中 配置组件扫描到spring-mvc.xml 执行测试 SpringMVC的快速入门 创建一个名为study_Spr 阅读全文

posted @ 2022-03-30 20:50 S++ 阅读(16) 评论(0) 推荐(0) 编辑

Spring-集成环境
摘要:集成Junit <dependency> <groupId>org.springframework</groupId> <artifactId>spring-test</artifactId> <version>5.3.17</version> </dependency> <dependency> 阅读全文

posted @ 2022-03-29 21:10 S++ 阅读(39) 评论(0) 推荐(0) 编辑

Spring-注解开发
摘要:原始注解 原始注解主要是来替代Bean标签的配置 | 注解 | 说明 | | | | | @Component | 使用在类上,用于实例化Bean | | @Contorller | 使用在web层类上,用于实例化Bean | | @Service | 使用在service层类上,用于实例化Bean 阅读全文

posted @ 2022-03-28 21:09 S++ 阅读(28) 评论(0) 推荐(0) 编辑

Spring-配置数据源
摘要:传统配置使用数据源 配置mysql、junit、c3p0和德鲁伊 <dependencies> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-context</artifactId> <version>5 阅读全文

posted @ 2022-03-28 17:00 S++ 阅读(25) 评论(0) 推荐(0) 编辑

Spring-初识Spring
摘要:Spring快速入门 1. 创建maven项目 创建默认的maven项目就行,一路下一步 2. 修改pom.xml 注意:版本应该根据自己的需求来选择 我们需要修改的是: 打包方式为jar包 添加spring依赖 添加单元测试依赖 <packaging>jar</packaging> <depend 阅读全文

posted @ 2022-03-28 09:21 S++ 阅读(20) 评论(0) 推荐(0) 编辑

python爬虫-CrawlSpider的全站数据爬取
摘要:了解CrawlSpider CrawlSpider是Spider的子类 它的创建方式是: scrapy genspider -t crawl spiderName www.xxx.com 创建爬虫文件成功后,我们可以看到它和Spider最大的不同就是多了一个Rule from scrapy.link 阅读全文

posted @ 2022-03-26 16:41 S++ 阅读(202) 评论(0) 推荐(0) 编辑

python爬虫-scrapy下载中间件
摘要:下载中间件 在每一个scrapy工程中都有一个名为 middlewares.py 的文件,这个就是中间件文件 其中下载中间件的类为 XxxDownloaderMiddleware 其中有这么几个方法 def process_request(self, request, spider): return 阅读全文

posted @ 2022-03-25 08:24 S++ 阅读(92) 评论(0) 推荐(0) 编辑

python爬虫-scrapy持久化存储
摘要:scrapy的持久化存储有两种:基于终端指令的和基于管道的 基于终端指令 限制: 只能将parse方法的返回值存储在本地的文本文件中 文件格式只能是,json、jsonlines、jl、csv、xml、marshal、pickle scrapy crawl 爬虫文件 -o 存储路径 基于管道 编码流 阅读全文

posted @ 2022-03-23 20:56 S++ 阅读(98) 评论(0) 推荐(0) 编辑

python爬虫-scrapy数据解析
摘要:一般的数据解析 首先创建工程 cd study_scrapy/ # 进入要创建工程的目录 scrapy startproject study_scrapy02 # 创建工程 cd study_scrapy02/ # 进入工程 scrapy genspider gushi www.xxx.com # 阅读全文

posted @ 2022-03-23 20:41 S++ 阅读(137) 评论(0) 推荐(0) 编辑

python爬虫-初识scrapy框架
摘要:什么是scrapy框架 介绍 Scrapy是适用于Python的一个快速、高层次的屏幕抓取和web抓取框架,用于抓取web站点并从页面中提取结构化的数据。 Scrapy用途广泛,可以用于数据挖掘、监测和自动化测试。 Scrapy吸引人的地方在于它是一个框架,任何人都可以根据需求方便的修改。 它也提供 阅读全文

posted @ 2022-03-22 21:09 S++ 阅读(49) 评论(0) 推荐(0) 编辑

mybatis-缓存
摘要:什么是缓存 如果我们有一个很大的数据库,那么查询起来是相当耗费时间的,如果将一些经常使用到的查询操作结果保存到内存,那么就可以节省下来去访问磁盘的这部分时间。 Mybatis缓存 一级缓存又叫本地缓存,mybatis默认情况下只启动了本地会话缓存。 要启用全局的二级缓存,只需要在你的 SQL 映射文 阅读全文

posted @ 2022-03-22 16:10 S++ 阅读(30) 评论(0) 推荐(0) 编辑

python爬虫-selenium模拟登录
摘要:模拟登录qq空间:有iframe、无验证码 """ selenium模拟登录QQ空间:有iframe、无验证码 """ from selenium import webdriver from selenium.webdriver import ActionChains from selenium.w 阅读全文

posted @ 2022-03-21 21:12 S++ 阅读(780) 评论(0) 推荐(0) 编辑

mybatis-动态SQL
摘要:前言 动态 SQL 是 MyBatis 的强大特性之一。如果你使用过 JDBC 或其它类似的框架,你应该能理解根据不同条件拼接 SQL 语句有多痛苦,例如拼接时要确保不能忘记添加必要的空格,还要注意去掉列表最后一个列名的逗号。利用动态 SQL,可以彻底摆脱这种痛苦。 使用动态 SQL 并非一件易事, 阅读全文

posted @ 2022-03-21 10:42 S++ 阅读(36) 评论(0) 推荐(0) 编辑

mybatis-高级结果映射
摘要:前言 mybatis对于简单的表可以通过resultType直接返回结果,如果是复杂的多张表查询结果就需要用到resultMap了。 记住 resultType 和 resultMap 之间只能同时使用一个。 官方介绍结果映射 高级结果映射举例 1. 创建三张有关联的表 这三张表分别是: stude 阅读全文

posted @ 2022-03-21 09:08 S++ 阅读(89) 评论(0) 推荐(0) 编辑

python爬虫-深入selenium模块
摘要:更多的selenium自动化操作 我们之前尝试了如何使用selenium操作浏览器,但是并没有更多的去使用。 其实我们可以使用selenium去做更多的事情,如搜索、点击按钮、滚动页面等等 下面我们以淘宝网为例来实现一下 """ selenium模块的更多自动化操作: - 搜索 - 点击 - 滚动 阅读全文

posted @ 2022-03-19 17:17 S++ 阅读(63) 评论(0) 推荐(0) 编辑

python爬虫-初识selenium模块
摘要:前言 我们之前做过一些数据是动态加载的爬取案例,如: 练习request模块中的综合案例 练习异步爬虫中的爬取梨视频热门音乐板块 这些动态数据从何加载而来是需要我们通过浏览器抓包工具来找到的。 此外,我们还做过一些模拟登陆的例子。获取登录按钮链接的post请求来登录用户。 如果有那么一个模块,能够帮 阅读全文

posted @ 2022-03-18 21:44 S++ 阅读(67) 评论(0) 推荐(0) 编辑

mybatis-注解开发
摘要:使用注解开发的好处 简化了xml文件的配置、小项目中使用注解反而提供了开发效率、注解相对于XML的另一个好处是类型安全的,XML只能在运行期才能发现问题。 (但是mybatis并不建议使用注解开发,因为使用注解来映射简单的语句会让代码更加简洁,但是对于复杂的语句,注解就力不从心了。写注解不便于维护。 阅读全文

posted @ 2022-03-18 08:41 S++ 阅读(20) 评论(0) 推荐(0) 编辑

python爬虫-异步协程
摘要:协程 1. 什么是协程 协程并不是计算机本身提供,而是由程序员人为创造。 协程也可以被称为微线程。是一种用户态上下文切换的技术。简而言之就是一个线程来回切换执行代码块。 协程实现的方法:现在主要推荐使用async和await关键字来实现(py3.6) 2. 协程的意义 在一个线程中,如果遇到IO等待 阅读全文

posted @ 2022-03-17 19:23 S++ 阅读(132) 评论(0) 推荐(0) 编辑

python爬虫-异步爬虫
摘要:前言 **异步爬虫的目的:**提高数据爬取的性能和效率 异步爬虫的方式 多线程/多进程 为相关阻塞的操作单独开启线程或进程,使得阻塞操作可以异步执行。但是由于资源有限,我们并不能无限制的开启多线程或多进程。 线程池/进程池 可以降低系统为了创建和销毁线程或进程而产生的开销。但是池中的线程或进程仍然是 阅读全文

posted @ 2022-03-17 18:08 S++ 阅读(219) 评论(0) 推荐(0) 编辑

mybatis-结果映射
摘要:介绍 resultMap 元素是 MyBatis 中最重要最强大的元素。 它可以让你从 90% 的 JDBC ResultSets 数据提取代码中解放出来,并在一些情形下允许你进行一些 JDBC 不支持的操作。 实际上,在为一些比如连接的复杂语句编写映射代码的时候,一份 resultMap 能够代替 阅读全文

posted @ 2022-03-16 08:56 S++ 阅读(43) 评论(0) 推荐(0) 编辑

python爬虫-cookie登录
摘要:http/https协议的特性:无状态 模拟登录之后仍然没有请求到对应页面的信息是因为 发起第二次基于个人页面的请求时,服务器端并不知道还请求是基于用户登录的请求 cookie:用来让服务器端记录客户端相关状态 那么解决这个问题就可以有下面两种方法: 手动Cookie方法(利用浏览器抓包工具获取Co 阅读全文

posted @ 2022-03-15 08:53 S++ 阅读(335) 评论(0) 推荐(0) 编辑

hadoop入门(13):NameNode、SecondaryNameNode剖析
摘要:NameNode、SecondaryNameNode解析 NameNode主要负责集群当中元数据信息管理,而且元数据需要经常随机访问,因为元数据信息必须高效的检索。 为了保证元数据信息的快速检索,元数据信息必须放在内存中,因为内存中的元数据能够最快速的检索,随着元数据信息的增多(每个block块大约 阅读全文

posted @ 2022-03-14 16:26 S++ 阅读(172) 评论(0) 推荐(0) 编辑

mybatis-配置解析
摘要:配置 MyBatis 的配置文件包含了会深深影响 MyBatis 行为的设置和属性信息。 配置文档的顶层结构如下: configuration(配置) properties(属性) settings(设置) typeAliases(类型别名) typeHandlers(类型处理器) objectFa 阅读全文

posted @ 2022-03-14 09:46 S++ 阅读(32) 评论(0) 推荐(0) 编辑

python爬虫-验证码识别
摘要:为什么需要识别验证码 验证码是网站的一种反措施,有些时候我们需要登陆用户才可以获取到我们想要的数据,所以验证码识别是必要的。 验证码识别操作: 人工肉眼识别(不推荐) 第三方自动识别 云打码(无了) 超级鹰:http://www.chaojiying.com 图鉴:http://www.ttshit 阅读全文

posted @ 2022-03-13 15:43 S++ 阅读(169) 评论(0) 推荐(0) 编辑

python爬虫-xpath解析
摘要:前言 xpath解析方式可以说是最常用最便捷高效的一种解析方式了。而且具有很高的通用性。 环境的安装 pip install lxml xpath解析原理 1. 实例化一个etree对象,并且需要将被解析的页面源码数据加载到该对象中。 2. 调用etree对象中的xpath方法结合着xpath表达式 阅读全文

posted @ 2022-03-11 20:48 S++ 阅读(153) 评论(0) 推荐(0) 编辑

mybatis-使用Map封装参数
摘要:上一篇中我们在查询、插入、更新等操作中直接传入了一个User类的参数。 但是并不是User中所有的属性都是必要的,我们可以通过Map封装需要的属性,然后使用Map就能完成相关的操作。 举个例子 根据id修改地址 1. 在Dao类中编写方法 需要注意的是参数是一个Map // 通过id修改地址 int 阅读全文

posted @ 2022-03-09 09:00 S++ 阅读(94) 评论(0) 推荐(0) 编辑

python爬虫-bs4解析
摘要:bs4解析概述 bs4解析技术是python独有的一种数据解析方式 bs4实现数据解析原理: 实例化一个BeautifulSoup对象,并将页面源码加载到该数据中 加载本地的html # 本地加载 fp1 = open("../data2/test.html", 'r', encoding="utf 阅读全文

posted @ 2022-03-08 21:26 S++ 阅读(177) 评论(0) 推荐(0) 编辑

hadoop入门(12):hdfs的读写流程
摘要:hdfs的写入流程 文件具体上传流程如下: 创建文件: HDFS client向HDFS写数据先调用DistributedFileSystem.create() RPC调用namenode的create()方法,会在HDFS目录树中指定路径,添加新文件;并将操作记录在edits.log中。namen 阅读全文

posted @ 2022-03-08 18:16 S++ 阅读(170) 评论(0) 推荐(0) 编辑

mybatis-CRUD操作(增删改查
摘要:前提 每一个Dao.xml或者说Mapper.xml都要绑定映射在sqlMapConfig.xml的数据库配置文件中 <mappers> <!-- 使用配置文件(需要自己创建……配置……)--> <mapper resource="Dao.xml的路径(用/分级"/> <!-- 使用注解 <mapp 阅读全文

posted @ 2022-03-07 10:19 S++ 阅读(33) 评论(0) 推荐(0) 编辑

python爬虫-正则解析
摘要:概述 Q: 什么是聚焦爬虫 A: 聚焦爬虫 (又被称为网页蜘蛛,网络机器人,在FOAF社区中间,更经常的称为网页追逐者),是一种按照一定的规则,自动的抓取万维网信息的程序或者脚本。另外一些不常使用的名字还有蚂蚁,自动索引,模拟程序或者蠕虫。 Q:什么是数据解析 A: 简而言之就是在获取到的整张页面提 阅读全文

posted @ 2022-03-06 16:43 S++ 阅读(90) 评论(0) 推荐(0) 编辑

python爬虫-requests模块
摘要:什么是requests模块 request模块是python原生的基于网络请求的模块,功能十分强大,简单便捷,效率极高。 你可以把它看作是模拟浏览器发起请求 request模块使用步骤 指定url UA伪装 请求参数处理 发起请求 获取相应数据 持久化存储 一些例子 练习1:实现一个简单的网页采集器 阅读全文

posted @ 2022-03-02 20:08 S++ 阅读(45) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示