自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 14.爬虫---Selenium 经典动态渲染工具的使用

Selenium 是一个自动化测试工具,利用它我们可以驱动浏览器执行特定的动作,如点击、下拉等等操作,对于一些 JavaScript 渲染的页面来说,此种抓取方式非常有效,下面我们来看下 Selenium 的安装过程。

2024-07-10 10:04:00 1030

原创 13.爬虫---PyMongo安装与使用

PyMongo 为 Python 程序员提供了一个强大且易于使用的 MongoDB 接口。通过上述教程,你可以学会如何安装 PyMongo、连接 MongoDB、创建数据库和集合、插入和查询文档、更新和删除数据,以及如何对结果进行排序、跳过和限制。这些操作构成了与 MongoDB 数据库交互的基础。

2024-06-23 14:46:45 2087

原创 MongoDB安装配置教程(详细版)

服务“MongoDB服务器(MongoDB)”(MongoDB)无法启动。请验证您是否有足够的权限启动系统服务。下载MongoDB数据库地址:(会自动检测电脑版本, 下载合适的MongoDB 版本号)

2024-06-21 16:05:54 3359

原创 12.爬虫---PyMysql安装与使用

PyMySQL是一个功能强大且易于使用的库,它简化了Python与MySQL之间的交互。无论是进行简单的查询,还是复杂的CRUD操作,PyMySQL都能提供清晰、简洁的接口。此外,由于它是纯Python编写的,因此安装和使用都非常简单。如果你需要在Python项目中与MySQL数据库进行交互,PyMySQL无疑是一个很好的选择。

2024-06-18 09:55:36 2316 2

原创 windows下mysql设置开机自启动

我们先检查一下电脑是否存在mysql服务。看一下能不能找到相关mysql 服务。

2024-06-17 09:58:21 1550

原创 网页右键不能审查元素解决办法

网页右键不能审查元素解决办法。

2024-06-14 11:24:02 1680

原创 11.爬虫---BeautifulSoup安装并解析爬取数据

BeautifulSoup是Python中的一个用于解析HTML和XML文档的库,它提供了一种Pythonic的方式来遍历文档、搜索元素以及修改文档的功能。在网络爬虫中,BeautifulSoup通常与其他库(如Requests)一起使用,用于解析和提取网页中的数据。

2024-06-07 14:40:35 1158

原创 10.爬虫---XPath插件安装并解析爬取数据

XPath是一门在XML文档中查找信息的语言,它使用路径表达式来选取XML文档中的节点或者节点集。XPath基于XML的树状结构,提供在数据结构树中找寻节点的能力,允许开发者精确地定位XML文档中的元素、属性或节点集。

2024-06-06 15:13:26 4418

原创 09.爬虫---正则解析爬取数据

然后创建一个 csv.writer 对象 csv_f,用于将数据写入到文件中。接下来,使用 csv_f.writerow()作用是打开一个名为 data.csv 的文件(如果不存在则创建),并使用 gbk 编码方式进行读写操作,同时设置换行符为。方法将包含列名的一行写入到文件中,该行包含了13个列的名称。这样,文件 data.csv。就具有了一个表格的结构,可以用于存储和处理数据。

2024-06-04 10:05:51 993

原创 08.爬虫---强大的正则表达式

正则表达式(Regular Expression,简称Regex或RegExp)是一种强大的文本匹配工具,它能够根据一定的规则来匹配字符串。正则表达式广泛应用于文本处理、数据抽取、验证等领域,如电子邮件地址验证、搜索引擎、编译器、解释器等。

2024-06-02 09:24:44 1165

原创 07.爬虫---使用session发送请求

我们以这个网站作为目标网站。

2024-05-30 10:32:39 891

原创 06.爬虫---urllib与requests请求实战(POST)

也是困扰了我个多小时,当我把参数拿出来对比时发现了有点微妙。cursor 原本是字符串 ‘0’ ,转后变成了 0。

2024-05-29 09:49:49 983

原创 Python Requests库中data与json参数的区别

在Python的Requests库中,data和json参数常用于在HTTP请求中发送数据。它们的主要区别在于数据的编码方式和Content-Type头部。data参数通常用于发送表单数据,其数据会被编码为格式,而json参数用于发送JSON格式的数据,其数据会被编码为格式。

2024-05-28 11:04:58 1066

原创 05.爬虫---urllib与requests请求实战(GET)

是一个第三方库,提供了一个更简洁、易用的API来发送HTTP请求。urllib能够处理的基本请求包括GET、POST、PUT、DELETE等,同时也支持设置请求头、请求体、处理cookies等高级功能,但其API相对较为底层,使用起来比较繁琐。请求头对爬虫来说,就好像一个面具,去模仿人去浏览网站,就不会被网站发现,也可以理解为打开网站的钥匙,上面我们知道,数据在链接中,但是我们申请后,返回状态码是418,请求失败,所有我们现在戴上面具,或者说,拿着钥匙再去申请,看看能不能成功打开。

2024-05-27 09:06:10 1254

原创 8个国内镜像源-Python安装第三方库

安装包的时候,会直接指向Python官网,由于服务器在国外,下载速度会很慢,因此,大多数情况下会选择国内的镜像源网址来提升安装第三方库的速度。众所周知,在没有配置第三方库的时候,使用。直接在安装包的命令后面加。等多种操作系统,方式一样。

2024-05-26 10:23:48 2172

原创 04.爬虫---Session和Cookie

如果服务器设置的 Cookies 保存到硬盘上,或者使用某种手段改写浏览器发出的 HTTP 请求头,把原来的 Cookies 发送给服务器,则再次打开浏览器,仍然能够找到原来的 Session ID,依旧还是可以保持登录状态的。而且恰恰是由于关闭浏览器不会导致 Session 被删除,这就需要服务器为 Session 设置一个失效时间,当距离客户端上一次使用 Session 的时间超过这个失效时间时,服务器就可以认为客户端已经停止了活动,才会把 Session 删除以节省存储空间。

2024-05-26 08:44:10 1265

原创 HTTP响应状态码一览表

响应(Response)响应,即 Response,由服务器返回给客户端,可以分为三部分:响应状态码(Response Status Code)、响应头(Response Headers)和响应体(Response Body)。在爬虫中,我们可以根据状态码来判断服务器响应状态,如状态码为 200,则证明成功返回数据,再进行进一步的处理,否则直接忽略。下表列出了常见的错误代码及错误原因。响应状态码,即 Response Status Code,表示服务器的响应状态,如。代表服务器正常响应,

2024-05-24 10:52:51 967

原创 03.爬虫---认识HTML网页

HTML页面由多个元素组成,这些元素定义了页面的结构和内容。HTML文档主要由<html><head>和<body>四个主要部分构成。是文档类型声明,它告诉浏览器这是一个HTML5文档,并使用HTML5的标准来解析。元素是整个HTML文档的根元素,它包含了整个页面的内容。元素包含了页面的元数据,如页面标题、字符集、样式表和脚本等。元素则包含了用户能看到的所有内容,如文本、图片、链接等。

2024-05-24 08:47:29 1142

原创 02.爬虫---HTTP基本原理

URN是URI的一种形式,它通过一个全局唯一的名称来标识资源,这个名称在某个命名空间中是唯一的。URL是用来定位和访问互联网上资源的独特标识,它包括了资源的位置(如IP地址或域名)、端口号(可选)、路径(资源在服务器上的位置)、查询(用于传递参数)和片段(用于指定资源中的特定部分)。URI可以分为URL和URN两种。URL是URI的一种形式,它提供了定位资源的方法,而URN则是用特定命名空间的名字来标识资源,不包含位置信息。:更通用的资源标识符,可以是URL或URN,用于标识资源,但不提供定位信息。

2024-05-23 11:39:37 1784 2

原创 01.爬虫---初识网络爬虫

网络爬虫,亦称网络蜘蛛或网络机器人,是一种能够自动地、系统地浏览和收集互联网上信息的程序。它依照一定的规则和算法,访问网页并提取所需的数据,使得数据收集变得高效且自动化。网络爬虫在不同领域有着广泛的应用,如搜索引擎、数据挖掘、舆情监测等,它能够帮助我们快速地从海量数据中提取所需信息,为决策提供强有力的数据支持。网络爬虫是一种强大的自动化工具,它能够在众多领域发挥重要作用,助力我们从海量数据中提取所需信息。在使用网络爬虫时,我们应当遵守相关法律法规,尊重用户隐私,合理使用,确保数据抓取的合法性。

2024-05-22 09:36:11 3361

原创 Java 发起带有附件的钉钉审批流

不久前接了一个需求,如图:看似只是个上传文件功能,然而可把我给痛疼的钉钉服务端API发起带有附件的审批流文档链接 : 按照文档一步一步来,不要急https://open.dingtalk.com/document/orgapp/initiate-an-approval-flow-with-attachments文档就不带着看了,直接上代码吧1.POM 依赖 <dependency> <groupId>com.aliyun</groupId&g

2024-01-03 09:34:05 1278

原创 aspose-words 跨操作系统 word 转 pdf 字体乱码问题

起初想到的是 通过docker 文件挂载的方式 把docker 容器字体文件夹 /usr/share/fonts 挂载到宿主机的字体文件夹,这种方式测试环境用着也还可以,毕竟测试环境基本是单节点,但是生产k8s环境想想就特别麻烦,这个方案就不用了。构建时特别要注意的是 这个"." ,意思是去当前 dockerfile 所在的目录去build,这样就构建出一个有字体的新的基础镜像。方案2是可行的,最后项目再基于 这个有字体的基础镜像打包部署,乱码完美解决。不知还有没有什么其他好的方法,目前就想到这2种。

2023-12-05 17:29:49 1245

原创 LocalDateTime 时间比较 isBefore isEqual isAfter

localDateTime1.isBefore(localDateTime2) 理解成 localDateTime1 是否在 localDateTime2 之前 >>> true,也就是localDateTime1是否小于localDateTime2。localDateTime1.isAfter(localDateTime2) 理解成 localDateTime1 是否在 localDateTime2 之后 >>> false,也就是localDateTime1是否大于localDateTime2。

2023-12-01 11:14:21 1428

原创 Java工具类中注入springBean NullPointException

Java工具类中注入springBean NullPointException

2023-11-27 09:31:13 495

原创 explain 慢sql优化

在每个人的项目中或多或少都会存在慢sql,慢了影响用户体验,mysql 提供了慢sql 分析工具,反正我每次都是记不住explain 相关的一些属性以及用法,这里就记录一下,方便以后慢sql分析。

2023-06-19 11:08:20 506

原创 RabbitMQ 集群搭建

注意Erlang 与 RabbitMQ 之间的版本对应关系,本教程选择的是 Erlang 24 与 RabbitMq 3.9.7。

2023-05-30 08:55:32 212

原创 VO、DTO、BO、PO、DO的困扰

现在你应该知道怎么用了吧。

2023-05-25 09:52:14 151

原创 Mybatis-plus 分页排序 错乱-丢失

Mybatis-plus 分页排序 错乱-丢失 其实归根结底是 order by 排序字段不稳定造成的,这一切都是因为使用的order by的字段不是唯一的,有很大可能出现相同值有多条,超过了每页的展示数量.而采用的不稳定的排序算法就会导致每次查询得到的结果都不一样,比如你第一次查询id为7的数据在第8位,而第二次查询时返回id为7的结果在第12位,如果一页只有10条数据,那么就会出现第一页和第二页中都会有id为7的这条数据.排序字段有重复值,不唯一。

2023-05-24 14:45:38 1956

原创 @Autowired @Resource 你如何选择

而是因为其可以指定是通过 name 还是 type 的注入方式,而@Autowired注解本身自己是不能实现这个效果的,要和@Qualifier一起用才可以!所以要像下面的代码这样写!1)如果同时指定了name和type,则从Spring上下文中找到唯一匹配的bean进行装配,找不到则抛出异常。在Spring中,将@Resource注解的name属性解析为bean的名称,type为bean的类型。3)如果指定了type,则从上下文中找到类型匹配的唯一bean进行装配,找不到或者找到多个,都会抛出异常。

2023-05-24 11:17:45 346

原创 微信公众号本地开发调试

怎么用呢,官方给了详细的教程 [NATAPP1分钟快速新手图文教程] (https://natapp.cn/article/natapp_newbie)在公众号配置好后提交配置如果后台服务没问题的话就可以认证成功了,接着就可以本地调试公众号关注,取关,消息等功能。测试域名是否可用,本地服务启动起来 把 127.0.0.1 换成这个域名,如果成功那离越来越近了。既然要本地调试,微信要通知你,也就是回调地址 URL,那我们的 Natapp 就派上用处了。你将会得到一个域名跟域名映射。

2023-05-18 16:04:24 680

原创 Illegal mix of collations (utf8_general_ci,IMPLICIT) and (utf8mb4_0900_ai_ci,COERCIBLE)

这个问题之所以记录一下是因为提醒自己建表时不要粗心大意,同时也把这个问题分享给大家。两个表联表查询并且用到了 表1的order_no = 操作,造成了这个问题。把表1的order_no 字段 排序规则 更改为。但是表1的order_no 字段排序规则误用。表1表2的排序规则是相同的都是。

2023-05-18 11:13:01 2163

原创 Docker-Overlay2磁盘空间爆满清理方法

进入containers 目录 查看文件大小,一直 du -sh * 你会发现有一个占用空间很大的 -json.log 的日志文件,然后把这个日志文件清空空间就腾出来了。可通过执行docker system prune 命令可用于清理磁盘,删除关闭的容器、无用的数据卷和网络,以及dangling镜像(即无tag的镜像)【慎用】 docker system prune -a 命令清理更干净、彻底,可以将没有容器使用的Docker镜像都删掉。后续还有方法又续上》》》》》》

2023-05-04 16:10:44 9028

原创 SpringBoot百万级数据分页查询效率飞升

百万级数据分页查询自定义分页

2022-10-23 14:27:56 3067 2

原创 微信公众号推送(Java)

微信公众号推送(Java)1. 微信推送地址https://mp.weixin.qq.com/debug/cgi-bin/sandboxinfo?action=showinfo&t=sandbox/index点击跳转2. 相关参数截图3. 相关Java测试代码/* * 微信测试账号推送 * */ public static void main(String[] args) { push(); } public static v

2021-07-26 16:23:13 1227 5

原创 Feign与Dubbo文件上传

Feign与Dubbo文件上传1.Feign生产者feign/** * 规则协议图片上传 * * @param file * @return */ @PostMapping(value = "/upload",consumes = MediaType.MULTIPART_FORM_DATA_VALUE) RestResponse<OssUploadDTO> upload(@RequestPart(value = "file

2021-04-20 17:05:02 234

原创 从函数式接口--->lambda表达式的转换

从函数式接口—>lambda表达式的转换public class Testlamda { public static void main(String[] args) { ILike like=new Like1(); like.lambda(); like=new Like2(); like.lambda(); /** * 4.局部内部类 */ class

2021-04-15 13:34:24 524

原创 Springboot 启动时,让方法自动执行的5种方法

Springboot 启动时,让方法自动执行的4种方法前提 类上@Component1.实现ServletContextAware2.实现ServletContextListener3.实现ApplicationRunner4.static 静态代码块5.方法上加@PostConstruct

2021-04-01 09:37:25 376

原创 springboot 设计模式---策略模式

设计模式—策略模式1.定义接口public interface payService { void pay(); void noPay();}2.接口实现类@Service@Component("Ali")public class AliPayImpl implements payService{ @Override public void pay() { System.out.println("支付宝支付"); } @Ove

2021-03-20 13:43:55 146

原创 SpringBoot RabbitMQ 实现延迟队列

SpringBoot RabbitMQ 实现延迟队列一.依赖<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId></dependency><dependency> <groupId>org.springframework.boot&l

2021-03-11 18:18:21 180

原创 生成短信验证码的几种方式

生成短信验证码的几种方式对比1.方式一String code = (Math.random()+"").substring(2,8)2.方式二String code = String.valueOf((int)(Math.random()*9+1)*(Math.pow(10,5)));循环同次数 第一种方式用时是第二种的10倍

2021-02-25 21:40:59 411

空空如也

空空如也

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

TA关注的人

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