- 博客(54)
- 资源 (2)
- 收藏
- 关注

原创 scrapy实例加讲解,你还告诉我你不会爬豆瓣?亲身实践教你高效学习
(一)前言学了这么久爬虫,你真的会爬豆瓣了么;你真的真真切切理解了爬虫的基本工作原理么?你有没有问过自己为啥感觉自己啥都会了,怎么做起来就什么也写不出来了?我用亲身经历告诉你怎么高效学习,并且不易忘记!!!学习经验:用自己的时间去为大家打通经验之路以前总想着学多点,再学多点;可是一段时间下来,发现自己什么也没记住,如果你是这类人,我想告诉你的是,你需要记录,也就是记笔记,不要眼高手低,实践起来你会发现你啥也不会;所以,学东西要追求学精,多了自然好,但是这是建立在你能不忘且熟练的基础上。不要觉
2021-06-28 21:50:32
493
18

原创 初识Scrapy-----Python爬虫进阶(一)
一、概述Scrapy,Python开发的一个快速、高层次的屏幕抓取和web抓取框架,用于抓取web站点并从页面中提取结构化的数据。Scrapy用途广泛,可以用于数据挖掘、监测和自动化测试.其最初是为了页面抓取 (更确切来说, 网络抓取 )所设计的, 后台也应用在获取API所返回的数据(例如 Amazon Associates Web Services ) 或者通用的网络爬虫.Scrapy吸引人的地方在于它是一个框架,任何人都可以根据需求方便的修改。它也提供了多种类型爬虫的基类,如BaseSpider、
2021-06-27 21:06:56
841
15

原创 Python爬虫成神之路----教你玩转python自动化之selenium的使用(三)
(一) 前言很高兴各位的支持,上了热搜榜!前面我们已经基本掌握了selenium定位页面元素的基本方法,因此,在此基础上,我们将在本篇介绍关于控制浏览器操作的一些方法,带大家深入了解selenium,我相信你为对此深感兴趣,因为,selenium很可能实现你儿时的梦想(哈哈哈!) 如果你是大佬,可能这里也有你想不到的细节收获,也请你多多指正;如果你是小白,我相信你可以在这系列文章中找到学习python的乐趣;所以,一键三连加关注,博主带你不迷路。(二)控制浏览器1.
2021-06-22 21:10:08
1529
21
原创 SGI STL内存池源代码解析----allocate内存分配函数
allocate 函数是 SGI STL 中 二级空间配置器 的核心函数之一,负责根据请求的内存大小分配内存。它的设计非常精巧,结合了 自由链表(free list) 和 内存池 技术,以高效地管理小块内存(小于等于 128 字节)和大块内存(大于 128 字节)。使用 RAII 风格的锁对象,确保多线程环境下的线程安全。如果小于等于 128 字节,则进入二级空间配置器的逻辑。如果自由链表为空,则从内存池中分配一批新的内存块。根据请求的内存大小,找到对应的自由链表。
2025-02-14 13:00:00
179
原创 SGI STL内存池源码剖析----重要的辅助函数_S_round_up和_S_freelist_index
ALIGN数据成员是按几字节进行对齐。直接从例子入手进行此函数的理解:_ALIGN-1为7 对应00000111 转换为4字节无符号整数为 00000000 00000000 00000000 00000111 设为num1取反后为 11111111 11111111 11111111 11111000,设为num2由于_ALIGN不变,因此后面的数不变,只需考虑前面的变量_bytes。若_bytes取1,则加上num1后变为。
2025-02-14 09:00:00
420
原创 SGI STL内存池二级空间配置器为什么优于一级空间配置器?
例如,当某个大小的内存块频繁使用时,可以优先分配更多的内存块到对应的自由链表中,从而提高分配效率。二级空间配置器 通过内存池和自由链表的设计,减少了锁竞争的概率。一级空间配置器 对 小内存块 的分配效率较低,因为每次分配都需要调用 malloc,而 malloc 本身有一定的开销。一级空间配置器 在分配小块内存时,可能会因为内存对齐等原因导致实际分配的内存比请求的内存更大,从而造成内存浪费。二级空间配置器 通过自由链表管理小块内存,能够更精确地分配所需大小的内存块,减少了内存浪费,提高了内存使用率。
2025-02-13 15:36:35
231
原创 从SGI-STL源码入手探索一级空间配置器
这其中的new算式内含两阶段操作:1.调用::operator new配置内存,2.调用Book::Book()构造对象内容。内存配置操作由alloc::allocate()负责,内存释放操作由alloc::deallocate()负责,对象构造由::construct()负责,对象析构由::destory()负责。,若没有定义则默认使用二级空间配置器。默认使用二级空间配置器的原因:内存使用率更高且效率高。文件代码入手,引出一级和二级空间配置器,并简要解析一级空间配置器。进入一级空间配置器类定义。
2025-02-13 15:13:16
231
原创 Go微服务----RPC调用示例
服务端注册一个对象,使它作为一个服务被暴露,服务的名字是该对象的类型名。服务端可以注册多个不同类型的对象(服务),但注册具有相同类型的多个对象是错误的。方法的返回值,如果非nil,将被作为字符串回传,在客户端看来就和errors.New创建的一样。生成的Client类型值有两个方法,Call和Go,它们的参数为要调用的服务和方法、一个包含参数的指针、一个用于接收接个的指针。Call方法会等待远端调用完成,而Go方法异步的发送调用请求并使用返回的Call结构体类型的Done通道字段传递完成信号。
2024-09-28 14:37:19
361
原创 Goweb---Gorm操作数据库(三) 更新
当使用 Update 更新单列时,需要有一些条件,否则将会引起ErrMissingWhereClause 错误,查看 阻止全局更新 了解详情。当使用 Model 方法,并且它有主键值时,主键将会被用于构建条件。保存 是一个组合函数。如果保存值不包含主键,它将执行 Create,否则它将执行 Update (包含所有字段)。下面的图片都是一个操作对应一个效果。
2024-09-26 15:30:24
644
原创 Goweb---Gorm操作数据库(二)
Gorm允许用户自己自定义钩子操作,使用这些钩子操作,可以在增删改查操作前进行相关的操作和检验,它会在创建、更新、查询、删除时自动被调用。如果任何回调返回错误,GORM 将停止后续的操作并回滚事务。
2024-09-25 19:01:19
710
原创 Goweb---Gorm操作Mysql数据库(一)
Go使用Gorm操作数据库进行表创建与数据的添加,主要探讨了AutoMigrate()函数的用法和注意事项
2024-09-25 16:32:24
1215
原创 Goweb预防XSS攻击
假设您有一个简单的Web应用程序,其中包含一个用户输入表单,用户可以在其中输入他们的名字,然后这个名字会被显示在页面上。攻击者可以在表单中输入恶意的JavaScript代码,如,如果应用程序没有对这个输入进行适当的处理,那么当其他用户访问该页面时,这段恶意脚本就会在他们的浏览器中执行。在上面的示例中,如果攻击者在name字段中输入,那么当表单提交后,这段脚本就会直接嵌入到生成的HTML中,并在其他用户的浏览器中执行。在将用户输入的数据输出到HTML页面时,对输出进行编码,确保恶意脚本不会被浏览器执行。
2024-09-21 16:46:29
565
原创 FFmpeg音视频复用器----为啥大多数视频只有一个视频流和一个音频流
大多数视频文件通常只包含一个视频流和一个音频流,这是因为这种组合足以满足一般的多媒体需求,并且减少了复杂性和文件大小。综上所述,大多数视频文件只包含一个视频流和一个音频流,因为这满足了一般的多媒体需求,并提供了更好的兼容性和效率。一般的视频需求: 大多数普通视频内容,如电影、电视节目、网络视频等,只需要一个视频流和一个音频流来呈现内容。这种简单的组合足以提供视听体验。制作和编辑: 视频编辑和制作中,通常需要处理多个音频和视频轨道,但最终的导出文件通常会合并为一个视频流和一个音频流,以供最终的观众观看。
2023-09-24 15:38:53
466
原创 FFmpeg音视频分离器(二)
该上下文包含了有关输入媒体文件的信息,例如流的数量、流的类型(视频、音频等)、时长等等。这个函数的作用是分析输入媒体文件并从中提取流(如视频流、音频流)的信息,包括流的数量、流的编解码器信息、时长、帧率等等。8.数据分离和写入:程序进入主循环,不断读取输入文件中的数据包(AVPacket),然后将这些数据包根据它们所属的流类型(视频或音频)写入到相应的输出文件中。一旦成功创建了输出格式上下文,你可以将其用于配置输出文件的各种属性,如视频编码器、音频编码器、流信息等,然后准备开始写入数据到输出文件。
2023-09-23 22:44:56
584
原创 FFmpeg视音频分离器----向雷神学习
本程序可以将封装格式中的视频码流数据和音频码流数据分离出来。 在该例子中, 将FLV的文件分离得到H.264视频码流文件和MP3 音频码流文件。
2023-09-23 15:29:13
685
原创 Spring入门案例二----bean的作用范围与生命周期管理
Spring一般默认创建的为单例对象,那么如何设置bean的作用范围使得创建的对象为不同的地址呢,详细见下述。
2023-02-14 20:32:18
404
原创 Python爬虫教你爬取视频信息
前面已经发布了爬取4k高清图片的示例,大家可以去参考学习;本次使用selenium和request技术,获取所想爬取的数据。
2023-02-04 19:53:27
32298
38
原创 每日一练-------排查网络故障
A地跟B地的网络中间有n个节点(不包括A地和B地),相邻的两个节点是通过网线连接。正常的情况下,A地和B地是可以连通的,有一天,A地和B地突然不连通了,已知只有一段网线出问题(两个相邻的节点)小明需要排查哪段网线出问题。在这个节点上判断跟A地B地是否连通,用来判断那一边出问题。输出一个数字,代表保证一定可以找到故障网线的前提下,小明最少要排查多少次。一个正整数 n (n
2023-02-03 10:10:04
570
原创 全网最细------爬取4k高清大图
本次案例将教大家免费爬取4k高清大图,即使你是爬虫新手,也可以食用本次文章实现你的免费下载梦,话不多说,先看效果。
2023-02-02 15:03:15
4967
7
原创 Python爬虫进阶------爬取csdn私信内容(一看就懂)
前面已经发布了爬取小破站私信的文章,有老师问是否可以用自动化工具进行,当然可以;后面也将会发布,不过较为麻烦点,原因是小破站的登录需要破解验证码。本篇文章介绍前面遗留的内容:爬取csdn私信内容,包括私信作者名。
2023-01-31 15:29:35
627
3
原创 Python爬虫高级----教你爬取私信内容(一看就懂)
最近几天在问答区发现了有小伙伴要求爬取某小破站的私信内容;我写了两种方式获取的代码,大家在阅读完本篇文章后,可以尝试爬取csdn上的私信内容,道理都一样;希望大家仔细阅读本文章,相信你会收益颇深!!!
2023-01-30 18:14:54
1223
3
原创 Python爬虫教你爬取视频内容
进行进行一个个片段视频的下载,视频以二进制格式存储,因此下载时,应使用.content方法进行下载;最后MP4格式进行持久化存储。文件链接,进而进行片段视频的下载,不过后续要使用第三方工具进行视频的整合,将一个个片段视频还原为整个视频。文件将视频切片为一个个片段,时长不定,一般较短,可以通过获取m3u8文件获取对应。获取到的m3u8通过python函数,进行。
2023-01-25 19:40:32
14920
14
原创 Python爬虫序章---爬取csdn作者排行榜
Selenium是最广泛使用的开源 Web UI(用户界面)自动化测试套件之一。Selenium 支持的语言包括C#,Java,Perl,PHP,Python 和 Ruby。目前,Selenium Web 驱动程序最受 Python 和 C#欢迎。Selenium 测试脚本可以使用任何支持的编程语言进行编码,并且可以直接在大多数现代 Web 浏览器中运行。在爬虫领域 selenium 同样是一把利器,能够解决大部分的网页的反爬问题。下面就进入正式的 study 阶段。
2023-01-19 23:45:00
5857
4
原创 Python爬虫教你爬取csdn作者排行榜
安装好驱动(以前的selenium文章有教程),然后进行元素定位,最后数据提取,用xls表格进行持久化存储利用基本方法发起请求,获得json数据进行持久化存储本篇文章先讲解第二种,后续出第一种方法对比网页源代码及网页数据,发现源代码中不含所需数据,因此利用抓包工具获取ajax请求进行链接获取链接:https://blog.csdn.net/phoenix/web/blog/allRank?page=1&pageSize=20参数page为第几页参数pageSize为一页展示的个数两个参数都可以手
2023-01-18 14:51:38
1668
10
原创 活博之文-----JavaWeb之EL表达式和JSTL标签库(二)
JSTL标签库的使用是为了弥补html表示的不足,规范自定义标签的使用而产生的。在告别model模式开发应用程序后,人们开始注重软件的分层设计,不希望在JSP页面中出现java逻辑代码,同时也由于自定义标签的开发难度较大和不利于技术标准化产生了自定义标签库。(一).分类及讲解重点:JSTL标签库可分为五类:核心标签库I18N格式化标签库SQL标签库XML标签库函数标签库JSTL的核心标签库共13个,从功能上可以分为.
2021-12-27 05:00:00
354
1
原创 活博之文-----JavaWeb之EL表达式和JSTL标签库(一)
为了能使这段文字醒目,我使用了font标签(不重要),本篇文章将带着我的誓言,伴随大四至结束,后续的日子,我将对csdn和我的粉丝一起走下去;2022将至,我对2021的自己还算满意,至少每天都很充实,也对得起自己,较为不足的地方就是csdn这块,由于一时的粉丝上升让自己迷失,一味看重粉丝的数量,而忘了还有那么多热爱我的粉丝们。大三下学期也即将到来,我愿意和你们一起走下去,后续300个日日夜夜,我将在考研的路上伴随着你们,愿我们都有目标
2021-12-26 16:36:27
658
15
原创 jsp值得学习--------【指令元素】带给你不一样的jsp
上篇我们已经对jsp的基础语法有了一定了解,本篇将详细为大家讲解jsp的指令元素,希望大家有问题可以留言或者私信博主,博主会尽量为大家答疑。1.什么是指令元素?指令标识主要用于设定整个JSP页面范围内都有效的相关信息,它是被服务器解释并执行的,不会产生任何内容输出到网页中。directive (编译指令)相当于在编译期间的命令。编译期间:程序还没有开始运行。格式:<%@directive 属性=“属性值”%>常见的directive:page / include / tagl.
2021-11-06 18:12:31
291
6
原创 最全面jsp学习------jsp语法
以后一个月将持续更新有关我个人学习jsp的历程,并将所学记录于csdn与各位一起探讨学习!一. jsp是如何执行的?(1)客户端请求(2)Web容器将jsp页面转译成servlet的源代码 .java(3)Web容器将产生的源代码经过编译 .class(4)Web容器加载编译后的代码并执行(5)把执行结果响应至客户端二. jsp注释\<!-- html注释 --><%-- 隐藏注释 --%><>注意!! html注释在客户端查看源代码时.
2021-11-05 14:28:01
218
1
原创 跟课式学习(一)----Linux虚拟机安装及终端基本使用
首先跟大家说声抱歉,这么久没在平台更新,我也不想为自己再找什么理由,因为徒劳;如果硬是要说明一下的话,我只能说,这几个月,自己飘忽不定,也在准备数学竞赛以及英语六级,还是再向大家说声抱歉,后面将会持续更新自己的收获及日常,还希望大家多多支持哦,你们的支持才是我更新的最大动力。1.vmware安装下载网址:https://www.vmware.com/cn/products/workstation-pro/workstation-pro-evaluation.html一步步安装,到后面会提示你输.
2021-09-27 09:01:24
492
4
原创 网易评论觉得腻?爬取心动歌曲来解腻
(一)前言1.觉得腻?听说你们觉得爬取评论已经腻歪了,今天鹏二就带你们一起爬取你的那个(他,她)或者欧巴的心动歌曲,话不多说,我们正题开始!2.来解腻今天我们就用各种方法进行爬取尝试,带大家一步步爬取到心动音乐(二)准备工作所用技术2.1 requests+Beautifulsouprequests获取网页内容Beautifulsoup对获取内容进行解析,拿到相应数据2.2 selenium通过selenium自动化直接加载相应网页进行定位元素和内容获取2.3 requests+Be
2021-06-30 17:46:46
420
5
原创 不可错过的爬虫实例(一):教你爬取优美图库
一.前言前几天有小伙伴私信我说能不能用爬虫爬取美女图片,那必须能啊,本次就用爬虫知识爬取你们想要的(懂得都懂),话不多说,正题开始!二.准备工作1.所用模块requestsBeautifulSoupThreadPoolExecutor2.网页分析示例网站:https://www.umei.net/katongdongman/dongmantupian/说明:由于美女图有点暴露,csdn会过滤掉,有兴趣的可仿照自行爬取2.1网页源代码分析!通过分析容易发现图片的超链接(图中红色框
2021-06-26 15:27:18
3717
19
原创 Python爬虫成神之路----教你玩转python自动化之selenium的使用(五)
(一)前言事情是这样的,有个小伙伴给我留言说整天想截网页图都得用截图工具,可以用selenium实现不?答案是肯定的,selenium不仅为我们提供了定位网页元素的各种方法,还为我们提供了网页截图的方法;那怎么操作呢?不要急,看下去!(二)所用方法1.定位元素博客相关链接:https://blog.csdn.net/qqshenbaobao/article/details/118088453?spm=1001.2014.3001.55012.网页截图(或指定元素截图)方法说明
2021-06-24 21:44:38
250
6
原创 Python爬虫成神之路----教你玩转python自动化之selenium的使用(四)
(一) 前言很高兴各位的支持,又上了热搜榜!前面我们已经基本掌握了selenium定位页面元素的基本方法和控制浏览器操作的基本方法,因此,在此基础上,我们将在本篇介绍关于窗口与irame切换的一些方法,带大家深入了解selenium,我相信你为对此深感兴趣,因为,selenium很可能实现你儿时的梦想(哈哈哈!)综合热榜:python内容榜:你们的支持是我的最大动力!!! 如果你是大佬,可能这里也有你想不到的细节收获,也请你多多指正;如果你是小白,我相信你可以在这系列文章中找到学习pytho
2021-06-23 21:27:41
511
10
原创 Python爬虫成神之路----教你玩转python自动化之selenium的使用(二)
(一) 前言:前面已经介绍了selenium的基本安装与相关的简单使用,本篇博客将以定位元素讲解为主,以爬虫示例为辅,带大家慢慢深入selenium与爬虫的知识海洋,冲!注意!注意!注意!:selenium自动化加载浏览器后,只要你能在F12开发者工具中能够审查到的元素就能直接获取,不用像普通爬虫一样麻烦,不需要考虑js动态渲染等问题,这也是我爱上selenium的原因之一!!!(二)定位元素八种方式定位元素在爬虫领域十分常用并重要,因此掌握基本的定位知识会帮你大大降低学习爬虫的难度,seleni
2021-06-21 19:13:21
459
11
原创 Python爬虫成神之路----教你玩转python自动化之selenium的使用(一)
前言:本系列文章将详细解释自动化测试工具selenium的基本使用,如果你是大佬,可能这里也有你想不到的细节收获,也请你多多指正;如果你是小白,我相信你可以在这系列文章中找到学习python的乐趣;所以,一键三连加关注,博主带你不迷路 。(一)Selenium基础1.Selenium简介Selenium是一个用于测试网站的自动化测试工具,支持各种浏览器包括Chrome、Firefox、Safari等主流界面浏览器,同时也支持phantomJS无界面浏览器。2.支持多种操作系统如Windows、Li
2021-06-20 21:42:56
1518
30
转载 时间复杂度和空间复杂度(实例讲解)
文章目录算法的时间复杂度和空间复杂度复杂度的分析一. 时间维度事后统计法事前分析估算的方法时间复杂度(1)时间频度(2)时间复杂度大O符号表示法常见的时间复杂度量级常数阶O(1)线性阶O(n)对数阶O(logN)线性对数阶O(nlogN)平方阶O(n^2^)立方阶O(n³)、K次方阶O(n^k)二、空间维度空间复杂度O(1)空间复杂度O(n)算法的时间复杂度和空间复杂度首先我们先了解什么是算法,算法(Algorithm)是指用来操作数据、解决程序问题的一组方法。但是对于同一个问题,我们去使用不同的算法,
2021-06-14 15:44:46
562
2
酒店预订源代码.txt
2021-03-06
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人