- 博客(119)
- 收藏
- 关注
原创 【17】aiohttp 异步爬虫实战
在上一课时我们介绍了异步爬虫的基本原理和 asyncio 的基本用法,另外在最后简单提及了 aiohttp 实现网页爬取的过程,这一课时我们来介绍一下 aiohttp 的常见用法,以及通过一个实战案例来介绍下使用 aiohttp 完成网页异步爬取的过程。前面介绍的 asyncio 模块内部实现了对 TCP、UDP、SSL 协议的异步操作,但是对来实现了。aiohttp 是一个基于 asyncio 的异步 HTTP 网络模块,它既提供了服务端,又提供了客户端。
2025-04-01 20:14:40
1030
原创 前缀和-求解区间和问题(优化算法)
则题目AC代码为:(0_based索引)int main()int n;cin>>n;//前缀和数组i<=n;cin>>x;//查询int a,b;return 0;前缀和常用来作为优化算法,注意数组的存储是0_based索引还是1_based索引!①先计算前缀和i <= n;i++)②查询:对于每次查询,只需执行sum[r] - sum[l - 1] ,时间复杂度为O(1)//1_based索引//0_based索引。
2025-03-31 10:38:32
214
原创 【15】Selenium 爬取实战
我们学习了 Selenium 的基本用法,【】本节我们就来结合一个实际的案例来体会一下 Selenium 的适用场景以及使用方法。
2025-03-29 21:09:46
760
原创 双指针算法(快慢指针/对撞指针法)
双指针指的是在遍历对象的过程中,不是普通的使用单个指针进行访问,而是使用两个相同方向(快慢指针)或者相反方向(对撞指针)的指针进行扫描,从而达到相应的目的。最常见的双指针算法有两种:一种是,在一个序列里边,用两个指针维护一段区间;另一种是,在两个序列里边,一个指针指向其中一个序列,另外一个指针指向另外一个序列,来维护某种次序。这个题目暴力的解法就是两层for循环,一个for循环遍历数组元素 ,第二个for循环更新数组。题目还是比较难想的········在每一步,计算窗口的大小(即。,保持记录最大长度的值。
2025-03-29 19:39:50
756
原创 二分查找【看了包会】
①先定义left right 【区间的定义】②进入循环 【注意循环条件】③将target 与 nums[middle] 进行比对,结合①对区间的定义 更新左右区间 【主体部分】
2025-03-29 16:13:11
806
原创 最短路径题目练习
结合了一点数学思维。掌握了求最大公因数、最小公倍数、判断质数的数学知识,自己没想到的点是使用Floyd算法一次性计算。完整代码 (滚动数组优化后的)个元素的存储空间,按每个元素8字节(还要将朴素的O(N²)搜索改为。)计算,总内存需求约为。,远超任何合理内存限制。使用邻接矩阵存储的代码。
2025-03-28 17:16:23
271
原创 【14】Selenium的基本使用
上期文章我们讲解了 Ajax 的分析方法,利用 Ajax 接口我们可以非常方便地完成数据的爬取。只要我们能找到 Ajax 接口的规律,就可以通过某些参数构造出对应的的请求,数据自然就能被轻松爬取到。崔庆才爬虫案例练手地址:在很多情况下,,它的的,如图所示:此时解决方法通常有两种,一种是深挖其中的逻辑,把其中 token 的构造逻辑完全找出来,再用 Python 复现,构造 Ajax 请求;另外一种方法就是。
2025-03-28 14:18:11
893
原创 【13】Ajax爬取案例实战
try:定义一个 scrape_api 方法,和之前不同的是,这个方法专门用来处理 JSON 接口,最后的response 调用的是 json 方法,它可以解析响应的内容并将其转化成 JSON 字符串。LIMIT = 10定义了一个 scrape_index 方法,用来接收参数 page,page 代表列表页的页码。构造了一个 URL,通过字符串的 format 方法,传入 limit 和 offset 的值。
2025-03-26 21:54:51
1269
原创 【12】Ajax的原理和解析
当我们在用 requests 抓取页面的时候,得到的结果可能会和在浏览器中看到的不一样:在浏览器中正常显示的页面数据,使用 requests 却没有得到结果。这是因为requests 获取的都是原始 HTML 文档,而浏览器中的页面则是经过 JavaScript 数据处理后生成的结果。这些数据的来源有多种,可能是通过 Ajax 加载的,可能是包含在 HTML 文档中的,也可能是经过 JavaScript 和特定算法计算后生成的。数据加载是一种异步加载方式,原始页面不会包含某些数据,
2025-03-26 17:59:42
1290
原创 如何从后端实现页面跳转?
请求转发:客户端发起一个请求到服务端,服务端把这个请求转发至其他地方重定向:客户端发起一个请求到服务端,服务端给出响应一个地址,客户端接受到新的地址之后再次发起请求【两次请求】
2025-03-23 20:57:58
433
原创 前后端+数据库的项目实战:hbu迎新网-较复杂(下)javaweb
/跳转到列表页//存cookie,携带href属性值//页面跳转})①后端代码没问题,修改之后运行为无效修改----------重新运行servers【一般创建新的servlet就要重启】②前端页面修改后运行没变化:清除浏览器数据之后再运行③前端熟练使用alert和console测试是否修改成功;后端直接System.out.println()④进行字符串拼接时,如果使用双引号当做开始结束符号,字符内部的双引号要写成单引号。
2025-03-23 20:55:39
963
原创 前后端+数据库的项目实战:hbu迎新网-较复杂(上)
需要知道content.html中待修改事件的id,跨页面交互,需要用到cookie,cookie存取事件的id,这样update.js就可以访问到content.js中的id值了 alert($.cookie("id"))1、创建SearchContentNum.java服务器获取搜索到的有几条事件,需要几页。2、将查找到的栏目放到update.html页面(和添加操作一样)在content.js文件设置cookie,: content.html文件中引入。2、将查找到的栏目放到add.html页面。
2025-03-23 20:23:47
829
原创 【11】Requests + PyQuery 基本案例实战
如果我们要完成列表页的爬取,可以这么实现:遍历页码构造 10 页的索引页 URL。从每个索引页分析提取出每个电影的详情页 URL。这里定义了一个 scrape_detail 方法,它接收一个 url 参数,并通过调用 scrape_page 方法获得网页源代码。由于我们刚才已经实现了 scrape_page 方法,所以在这里我们不用再写一遍页面爬取的逻辑了,直接调用即可,这就做到了代码复用。
2025-03-23 13:36:24
937
原创 图论--最短路问题总结
(除非 源点特别少,且边都是正数,那可以 多次 Dijkstra 求出最短路径,但这种情况很少,一般出现多个源点了,就是想让你用 Floyd 了)至此已经讲解了三大最短路算法,分别是D。(松弛n次,看看距离数组是否发生变化)
2025-03-23 10:47:42
295
原创 Floyd 算法--多源最短路
我们是把 k =0 的 i 和j 对应的数值都初始化了,这样才能去计算 k = 1 的时候 i 和 j 对应的数值。grid[i][j][k] = m,表示 节点i 到 节点j 以[1...k] 集合为中间节点的最短距离为m。你可以反过来想,节点i 到 节点j 中间一定经过很多节点,那么你能用什么方式来表述中间这么多节点呢?节点i 到 节点k 的最短距离 不经过节点k,中间节点集合为[1...k-1],所以 表示为。,同理节点k 到 节点j 的最短距离 也是不经过节点k,表示为。节点i 到 节点j 的。
2025-03-21 20:35:45
656
原创 bellman_ford之单源有限最短路
auv,现在我刚学玩这个系列,真的感觉很熟悉很熟悉了,代码写了五六七八遍了,但是我相信自己下次碰到类似的新题,,,,,肯定不能一鼓作气写出来代码。。。。的核心优势是能够处理图中存在负权边的情况,但是即使图中所有边权均为非负值,Bellman-Ford算法仍然能正确计算最短路径,只是效率不如Dijkstra算法【看下面的博客,说实话我已经忘了他是怎么更新 的了.......算法-图-dijkstra 最短路径-优快云博客。
2025-03-21 14:08:37
751
原创 bellman_ford之判断负权回路
代码真的和上期的差不多,感觉自己真的好笨,一开始写的死代码真的会再遍历第n次,使用两个for大循环,还又定义了一个mindist数组,看了卡哥的代码 wasai 瞬间把代码行数缩短了十几行哈哈哈。
2025-03-21 11:24:08
483
原创 MySQL-多表查询
在实际应用中,数据库通常由多个表组成,单表查询往往无法满足需求。因此,我们需要使用来整合数据,提高查询效率。多表关系是必不可少的部分,常见的关系包括:一对一、一对多和多对多。本文将介绍这些关系的处理方式,并结合sql查询进行实战演练。
2025-03-18 16:38:12
434
原创 MySQL-单表查询
在日常数据库操作中,我们经常需要对数据进行查询、筛选、排序和统计分析。本文将介绍 mysql 查询语句的基本用法,包括select语句、where条件筛选、limit分页、order by排序以及group by分组聚合等。假设我们有一张student表。
2025-03-18 15:37:01
1099
原创 Mysql的安装配置
MySQL 是最流行的开源关系型数据库管理系统(RDBMS)之一,由瑞典 MySQL AB 公司开发,并于 2008 年被 Oracle 公司收购。MySQL 采用 SQL(Structured Query Language)进行数据管理,具有高效、稳定、易用的特点,广泛应用于 Web 开发、大数据、金融、电商等多个领域。开源免费:MySQL 遵循 GPL 开源协议,用户可以免费下载、使用和修改。高性能:支持多种存储引擎,如 InnoDB 和 MyISAM,能够满足不同场景的需求。跨平台支持。
2025-03-18 15:23:44
867
原创 深度学习-yolo实战项目【分类、目标检测、实例分割】?如何创建自己的数据集?如何对数据进行标注?没有GPU怎么办呢?
至此,通过这个项目,关于计算机视觉的分类、目标检测、实例分割三大任务的数据的创建与标注、模型的训练、使用模型进行预测已经掌握啦,还有如何在AutoDL上使用服务器,运行代码也掌握的差不多了!
2025-03-17 13:40:28
1053
原创 《A Gentle Introduction to Graph Neural Networks》-GNN的综述性论文
首先建立一个图。图表示的是一系列实体(节点)之间的关系(边)。图的顶点/边表示的信息叫做attributeGNN是一个对图上所有的属性,包括顶点、边、全局的上下文进行的一个可以优化的变换,这个变换能够保持住图的对称性信息的【把顶点进行另外一个排序之后整个结果不会变】,GNNs是“graph-in, graph-out”(即进出模型都是graph的数据结构),他会对节点、边的信息进行变换,但是图连接性【每条边到底连接的是哪两个点】是不变的。【只改变属性不改变结构】
2025-03-12 22:24:32
692
原创 【07】入门首选,Requests库的基本使用
当然,如果参数都传一个 HTTPBasicAuth 类,就显得有点烦琐了,所以 requests 提供了一个更简单的写法,可以直接传一个元组,它会默认使用 HTTPBasicAuth 这个类来认证。这里通过比较返回码和内置的成功的返回码,来保证请求得到了正常响应,输出成功请求的消息,否则程序终止,这里我们用 requests.codes.ok 得到的是成功的状态码 200。不设置headers信息时,某些网站会发现这不是一个正常的浏览器发起的请求,网站判断出来即返回异常的结果,导致网页抓取失败。
2025-03-12 17:45:22
1099
原创 前后端+数据库的项目实战--学生信息管理系统-易
创建url请求路径SearchStudent.java、AddStudent.java、DeleteStudent.java,在这里写后端操作,注意设置的数据格式和响应语句,get请求返回的数据返回到前端的value中。get请求很容易,有地址即可一般用在查找上;get请求传参需要写到url中。servlet与前端进行数据交互get/post。post请求传参一般写到data中,可以混用。+前端交互的js操作,绑定事件。
2025-03-11 21:22:29
486
原创 【05】多路加速,了解多线程基本原理
一个进程中可以同时处理很多事情【浏览器中可以在多个选项卡中打开多个页面,有的页面播放音乐,有的页面播放视频,可以同时运行,互补不干扰】为什么能同时做到这麽多任务呢?-----任务对应着线程的执行。进程是线程的集合,进程是由一个或者多个线程构成的;线程是操作系统进行线性调度的最小单位,是进程中一个最小运行单元。多线程就是一个进程中同时执行多个线程。
2025-03-11 20:33:33
851
原创 【蓝桥】可行路径的方案数--BFS最短路径数目
看到一道题真的要想好用什么数据结构呜呜呜,很简单的一道题,对于一个结点分两种情况讨论真的没想到,算法还是太差了,,,当 BFS 遍历到某个节点时,第一次到达该节点的路径一定是距离最短的路径。:记录从起点到每个节点的最短路径数量。某个节点未被访问,则其路径数为 0。:记录从起点到每个节点的最短距离。BFS 可以自然地记录每个节点的最短距离和路径数量。由于 BFS 是逐层扩展的,从起点到。的路径一定是已知的最短路径之一,因此从。的路径也一定是已知的最短路径之一。的路径数中,同时取模以避免溢出。
2025-03-11 15:43:28
125
原创 【蓝桥】帮派弟位-DFS遍历树
题目很简单,比较容易理解,主要就是帮派成员关系构成一棵树,每个节点的“手下”为其子树的所有节点(不包括自己)。我们需要根据每个节点的手下人数(即子树大小减一)进行排序,人数相同则按序号升序排列,最后找出小明的排名。将问题分解为多个小问题(如构建树、计算子树大小、排序、查找排名等),逐步解决每个小问题!:通过深度优先搜索(DFS)遍历树,自底向上计算每个节点的子树大小。:在排序后的列表中找到小明的序号对应的位置。:使用邻接表存储每个节点的子节点。:根节点是没有父节点的节点。
2025-03-10 22:26:07
311
原创 【04】session和 Cookies
在学习javaweb时接触过感兴趣的友友可以看看~在浏览网站的过程中,我们经常会遇到需要登录的情况,有些页面只有登录之后才可以访问,而且登录之后可以连续访问很多次网站,但是有时候过一段时间就需要重新登录。还有一些网站,在打开浏览器时就自动登录了,而且很长时间都不会失效,这种情况又是为什么?其实这里面涉及的相关知识,本节就来揭开它们的神秘面纱。
2025-03-10 14:10:10
1008
原创 基于 JDBC 的后端与 MySQL 数据库交互 javaweb
在后端开发中,与数据库进行交互是非常常见的需求。MySQL 作为一种广泛使用的开源关系型数据库,提供了强大的数据存储和管理能力。在上一篇博客中已经了解了这个管理数据库的工具,那么如何在后端与Mysql进行交互呢????
2025-03-10 13:16:52
985
邱锡鹏-hbu深度学习学习资料
2025-03-10
C语言程序设计基础初
2022-09-29
C语言选择控制结构。。
2022-09-23
C语言选择控制结构。。
2022-09-21
C语言屏幕输入与输出
2022-09-18
C语言程序设计屏幕输入与输出
2022-09-17
C语言程序设计键盘的输入输出
2022-09-17
C语言数据类型 超级简单 但我不会 😭
2022-09-16
TA创建的收藏夹 TA关注的收藏夹
TA关注的人