- 博客(981)
- 资源 (51)
- 收藏
- 关注
原创 Python爬虫之Scrapy框架基础入门
在Scrapy中,Item是被用来保存抓取到的数据的容器。你可以定义自己的Item类,类似于Python字典,但是提供了额外保护机制和便利方法。Item通常定义在items.py文件中。# 通俗的说就是你要下载的数据都有什么# 图片# 名字# 价格# 详情URL。
2024-12-13 14:03:25 532
原创 Python爬虫之Requests库的使用
requests 是一个非常流行的 Python 库,用于发送 HTTP 请求。它简单易用,功能强大,适合编写爬虫程序来抓取网页内容。
2024-12-12 14:04:04 348
原创 Python爬虫之Selenium的应用
(1)是一个无界面的浏览器(2)支持页面元素查找,js的执行等(3)由于不进行css和gui渲染,运行效率要比真实的浏览器要快很多。
2024-12-11 18:38:03 755
原创 Python爬虫之使用BeautifulSoup进行HTML Document文档的解析
易于使用:提供了直观的方法来导航、搜索和修改解析树。容错性强:能够处理有缺陷的 HTML,并尝试生成最可能的解析结果。多种解析器:支持 Python 标准库中的 HTML 解析器,以及第三方解析器如 lxml 和 html5lib。链式调用:可以通过连续调用方法来构建查询,使得代码更加简洁和易读。
2024-12-11 15:09:07 416
原创 Python爬虫之使用jsonpath进行JSON数据的解析
JSONPath 是一种查询语言,用于从 JSON 文档中提取数据。它类似于 XPath 用于 XML 的方式。JSONPath 表达式允许你以简洁的方式定位和过滤 JSON 数据结构中的元素。[]..?()[,]需要先安装。
2024-12-11 15:07:46 506
原创 Python爬虫之使用xpath进行HTML Document文档的解析
响应有两种:JSON数据和HTML页面,对于后者就需要进行解析HTML Documen得到我们需要的信息。xpath最大的弊端就是语法格式不友好,不如BeautifulSoup。
2024-12-11 15:06:17 647
原创 Python爬虫之urllib库使用总结
urllib是 Python 内置的一个用于操作 URL 的库。它提供了用于打开和读取 URL 的功能,可以处理 HTTP、HTTPS 等多种协议。urllib请注意,虽然urllib库是 Python 标准库的一部分,并且适用于简单的任务,但对于更复杂的 Web 爬虫项目,通常会推荐使用像requests这样的第三方库,因为它们提供了更简洁的 API 和更好的特性支持,如会话管理、SSL 验证、Cookies 等等。
2024-12-11 09:28:59 411
原创 SpringBoot+MyBatis整合ClickHouse实践
整合Spring Boot、MyBatis和ClickHouse可以让你使用Java开发的应用程序高效地与ClickHouse数据库进行交互。
2024-12-02 08:54:25 384
原创 Java中异步任务实现的几种方式
Future在Java中,异步任务可以通过多种方式实现,包括使用线程池、Future等。下面是一些常用的异步任务实现方法及其示例。
2024-11-28 15:31:58 356
原创 CSS中Flex布局应用实践总结
的四个子元素两端对齐,左右不留间距,且中间元素的间距一样,可以使用 CSS 的 Flexbox 布局。子元素不设置 flex-shrink: 0 时子元素会随父元素宽度自动等分总宽度,子元素设置的宽度会自动失效。通过这两种方法,你可以灵活地调整子元素之间的间距,以满足你的布局需求。设置为22%,这样每个子元素的宽度会稍小一些,从而增加中间的间距。的四个子元素两端对齐,左右不留间距,且中间元素的间距一样的布局。属性,但需要注意调整子元素的宽度以适应总宽度。的值,可以间接增大子元素之间的间距。
2024-11-21 13:08:34 1066
原创 RestTemplate应用实践总结
是 Spring 框架中用于发送 HTTP 请求的一个工具类。虽然本身已经提供了很多功能,但在某些情况下,你可能需要对其进行更详细的配置。你可以通过创建一个配置类来实现这一点。
2024-11-20 12:44:23 877
原创 MySQL索引创建原则总结
有时候有意或者无意的就对同一个列创建了多个索引,比如index(a,b,c)相当于index(a)、index(a,b)、index(a,b,c)。
2024-11-14 08:05:42 392
原创 IDEA2024下安装kubernetes插件并配置进行使用
其实2024.2.3下默认已经安装了kubernetes插件,如果你发现自己IDEA中没有,在市场里面检索并下载即可。
2024-11-03 12:39:24 869 2
原创 RAG(Retrieval-Augmented Generation)检索增强生成基础入门
RAG(Retrieval-Augmented Generation)是一种结合了检索和生成模型的技术,旨在提高自然语言处理任务的性能和准确性。RAG 方法的核心思想是在生成模型的基础上,通过检索模块从大量文档或知识库中获取相关信息,从而增强生成模型的上下文理解和信息丰富度。
2024-10-24 11:12:29 1121
原创 MyBatis-Plus中FieldFill理解与应用
FieldFill是 MyBatis-Plus 框架中用于字段自动填充功能的一个枚举类。它定义了字段在不同场景下的自动填充策略。具体来说,FieldFillDEFAULTINSERTUPDATE。
2024-10-22 09:00:47 558
原创 SpringBoot整合mybatisPlus实现批量插入并获取ID
背景:需要实现批量插入并且得到插入后的ID。使用for循环进行insert这里就不说了,在海量数据下其性能是最慢的。数据量小的情况下,没什么区别。
2024-10-21 21:55:40 1179
原创 SQL 错误 [1093] [HY000]: You can‘t specify target table ‘tb_sys_district‘ for update in FROM clause
背景:依赖表中某些数据更新另外一些数据。这条语句的目标是将所有其父级编码属于等级为2的地区的记录的level字段更新为3。这条语句看起来逻辑上是正确的,但可能会有一些潜在的问题或需要优化的地方。SQL 错误 [1093] [HY000]: You can’t specify target table ‘tb_sys_district’ for update in FROM clause。
2024-10-18 14:26:03 394
原创 CSS 鼠标悬停时让父元素和子元素以不同的方式进行变换
要在鼠标悬停时让父元素和子元素以不同的方式进行变换(transform),可以分别设置它们的transform属性,并使用transition来实现平滑的效果。以下是一个示例,展示了如何实现这一效果。
2024-10-07 21:26:16 437
原创 Vue中watch监听属性的一些应用总结
简写形式的watch非常适合用于监听顶层属性或对象的特定属性的变化。如果你不需要深度监视,这种简写形式可以使代码更加简洁和易读。如果你有更多复杂的需求,比如需要立即执行监听器或处理更深层次的变化,可以使用完整的对象形式。
2024-10-05 10:55:02 584
原创 Vue2/Vue3中编程式路由导航实践总结
除了使用创建 a 标签来定义导航链接,我们还可以借助 router 的实例方法,通过编写代码来实现。$router想要导航到不同的 URL,则使用方法。这个方法会向 history 栈添加一个新的记录,所以,当用户点击浏览器后退按钮时,则回到之前的 URL。当你点击时,这个方法会在内部调用,所以说,点击等同于调用。该方法的参数可以是一个字符串路径,或者一个描述地址的对象。注意:如果提供了 path,params 会被忽略,上述例子中的 query 并不属于这种情况。${同样的规则也适用于。
2024-09-13 10:35:39 966
原创 Kafka【十四】生产者发送消息时的消息分区策略
首先我们需要创建一个类,然后实现Kafka提供的分区类接口Partitioner,接下来重写方法。这里我们只关注partition方法即可,因为此方法的返回结果就是需要的分区编号。
2024-09-06 14:41:54 885
原创 Kafka【十三】消费者消费消息的偏移量
偏移量offset是消费者消费数据的一个非常重要的属性。默认情况下,消费者如果不指定消费主题数据的偏移量,那么消费者启动消费时,无。如果想要获取之前的数据,就需要设定配置参数或指定数据偏移量。
2024-09-06 11:39:05 1426
原创 Kafka【十二】消费者拉取主题分区的分配策略
消费者想要拉取主题分区的数据,首先必须要加入到一个组中。但是一个组中有多个消费者的话,那么每一个消费者该如何消费呢,是不是像图中一样的消费策略呢?如果是的话,那假设消费者组中只有2个消费者或有4个消费者,和分区的数量不匹配,怎么办?当消费者加入群组的时候,会发送一个JoinGroup请求。群主负责给每一个消费者分配分区。每个消费者只知道自己的分配信息,只有群主知道群组内所有消费者的分配信息。
2024-09-06 09:37:10 1306
原创 Kafka【十一】数据一致性与高水位(HW :High Watermark)机制
Leader副本作为数据的读写副本,所以生产者的数据都会发送给leader副本,而两个follower副本会周期性地同步leader副本的数据,但是因为网络,资源等因素的制约,同步数据的过程是有一定延迟的,所以3个副本之间的数据可能是不同的。此时我们就会发现,对于消费者而言,之前leader副本能访问的数据是D,但是重新选择leader副本后,能访问的数据就变成了C,这样消费者就会认为数据丢失了,也就是所谓的数据不一致了。图中的主题有3个分区,每个分区有3个副本,这样数据可以冗余存储,提高了数据的可用性。
2024-09-05 16:42:08 744
原创 Kafka【十】副本(follower)从领导者(leader)同步数据的流程
Kafka中,分区的某个副本会被指定为 Leader,负责响应客户端的读写请求。分区中的其他副本自动成为 Follower,主动拉取(同步)Leader 副本中的数据,写入自己本地日志,确保所有副本上的数据是一致的。Kafka创建主题时,会根据副本分配策略向指定的Broker节点发出请求,将不同的副本节点设定为Leader或Follower。
2024-09-05 16:19:36 1673
原创 Kafka【九】如何实现数据的幂等性操作
为了解决Kafka传输数据时,所产生的数据重复和乱序问题,Kafka引入了幂等性操作,。注意,。默认幂等性是不起作用的,所以如果想要使用幂等性操作,只需要在生产者对象的配置中开启幂等性配置即可。
2024-09-05 14:48:26 1207
原创 Kafka【八】如何保证消息发送的可靠性、重复性、有序性
幂等性生产者:防止消息重复发送,适用于单个消息级别的去重。事务支持:确保操作的原子性和一致性,适用于需要跨分区或系统的一致性操作。因此,幂等性生产者并不是必须与事务隔离使用才能保证消息的唯一性。相反,幂等性生产者本身就是为了解决消息重复发送问题而设计的。事务支持则是为了实现更高级别的数据一致性和操作的原子性。两者可以独立使用,也可以结合使用以满足不同的需求。
2024-09-04 16:54:20 1817
原创 Kafka【七】SpringBoot整合kafka实践
这里SpringBoot为3.0.5,jdk为17,kafka-clients为3.6.1
2024-09-04 14:14:04 320
原创 Kafka【六】Linux下安装Kafka(Zookeeper)集群
Kafka从早期的消息传输系统转型为开源分布式事件流处理平台系统,所以很多核心组件,核心操作都是基于分布式多节点的。本文这里采用三台虚拟机模拟真实物理主机搭建Zookeeper集群和kafka集群。VMware可以使用户在一台计算机上同时运行多个操作系统,还可以像Windows应用程序一样来回切换。用户可以如同操作真实安装的系统一样操作虚拟机系统,甚至可以在一台计算机上将几个虚拟机系统连接为一个局域网或者连接到互联网。
2024-09-03 16:03:13 893
原创 Kafka【五】Buffer Cache (缓冲区缓存)、Page Cache (页缓存)和零拷贝技术
传统的主要用于缓存块设备上的数据块,包括文件系统的元数据和数据本身。它的主要目的是提高对块设备的读写性能,减少磁盘I/O操作,从而提升系统整体性能。尽管作为一个单独的概念在较新的Linux内核版本中已经不再单独存在,但它所代表的缓存机制仍然是提高系统性能的重要手段之一。通过缓存块设备上的数据和元数据,能够显著减少磁盘I/O操作,提高文件系统的读写性能。在现代Linux内核中,这种缓存机制已经被整合到统一的缓存机制中,以更好地适应现代计算环境的需求。缓存的对象Page cache:主要用于缓存文件的内容。
2024-09-03 10:24:21 1805
原创 Kafka【四】Controller的选举机制
Kafka是分布式消息传输系统,所以存在多个Broker服务节点,但是它的软件架构采用的是分布式系统中比较常见的主从(Master - Slave)架构,也就是说需要从多个Broker中找到一个用于管理整个Kafka集群的Master节点,这个节点,我们就称之为Controller。它是Apache Kafka的核心组件非常重要。它的主要作用是在Apache Zookeeper的帮助下管理和协调控制整个Kafka集群。
2024-08-29 09:38:34 1272
原创 Kafka【三】Windows下安装Kafka集群
如果启动过程报错,主要是因为zookeeper和kafka的同步问题,请先执行cluster-clear.cmd文件,再执行cluster.cmd文件即可。集群启动命令后,会打开多个黑窗口,每一个窗口都是一个kafka服务,请不要关闭,一旦关闭,对应的kafka服务就停止了。因为kafka内置了ZooKeeper软件,所以此处将解压缩的文件作为ZooKeeper软件使用。将kafka1文件夹复制两份,改名为kafka2,kafka3。修改文件夹名为kafkazookeeper。
2024-08-28 17:22:02 1241
原创 Kafka【二】关于消费者组(Consumer Group)、分区(partition)和副本(replica)的理解
Apache Kafka 是一个分布式流处理平台,它允许你发布和订阅记录流,存储记录流,并且可以对这些记录流进行处理。在 Kafka 中,消息被发布到特定的主题(topic),然后由消费者(consumer)订阅并消费这些消息。消费者组(Consumer Group)是 Kafka 中的一个重要概念,它用于管理多个消费者的负载均衡以及故障恢复。消费者组是由多个消费者实例(Consumer Instances)组成的一个逻辑组。这些消费者实例共同工作,以协作的方式消费Kafka主题(Topic)中的消息。Ka
2024-08-28 16:32:35 3055
原创 Kafka【一】Windows下安装单节点Kafka
当前版本Kafka软件内部依然依赖ZooKeeper进行多节点协调调度,所以启动Kafka软件之前,需要先启动ZooKeeper软件。不过因为Kafka软件本身内置了ZooKeeper软件,所以无需额外安装ZooKeeper软件,直接调用脚本命令启动即可。这里名称为QuorumPeerMain的就是ZooKeeper软件进程,名称为Kafka的就是Kafka系统进程。ZooKeeper软件的指令为Windows环境下的bat批处理文件。DOS窗口中,输入jps指令,查看当前启动的软件进程。
2024-08-19 12:56:29 1004
DubboOPS项目和管理后台jar包
2018-11-07
Struts2Spring4Hibernate4整合
2018-11-07
输入一段英文,去掉符号后将英文单词排序输出
2021-12-23
PHP课程设计图书管理系统、学生成绩管理系统、学生宿舍管理系统
2020-11-27
SpringBoot+thymeleaf+UEditor+不修改上传路径.zip
2020-02-04
jdk6-8String类
2019-11-20
dhcp+c3p0.zip
2019-10-27
Netty权威指南 第2版 带书签目录 高清完整版.pdf
2018-11-20
SpringBoot整合Dubbo和Zookeeper升级版
2018-11-09
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人