- 博客(18)
- 收藏
- 关注
原创 基于Drissionpage实现的b站评论爬取(无需逆向25/2/10可用)
Drissionpage库,这是一种基于 Selenium 和 Requests 的高层次网页抓取工具,支持异步请求和网络流监听。用户可以根据需要调整爬取的页面数量和保存的文件名,以满足特定的需求。本文中的代码主要功能是从指定的 B 站视频链接中提取评论,并将其保存到一个文本文件中。用户可以指定需要爬取的页面次数以及保存的文件名。
2025-02-10 16:40:57
1173
原创 基于KD树的KNN算法实现
本文所用的数据集来自西瓜书西瓜数据3.0,不使用三方库模型直接训练,通过自建函数一步步实现KNN算法、预测和决策边界的绘制,文章末尾会给出所用数据集和完整代码。其基本思想是:在给定一组标记的训练数据后,对于一个未标记的样本,通过计算它与训练集中所有样本的距离(本实验使用欧几里得距离),找到其 k 个最近邻样本。然后基于这 k 个邻居的标签进行预测:分类:返回 k 个邻居中出现频率最高的类别作为预测类别。回归:返回 k 个邻居的平均值作为预测值。
2025-01-05 10:03:37
1209
原创 K均值聚类——python实现
本文所用数据集来自西瓜书P202西瓜数据集4.0,文章末尾会附上源码和数据集。K均值算法(K-Means Algorithm)是一种常用的聚类分析方法,用于将数据集划分为预定数量的簇(clusters)。其基本思想是通过迭代的方式,最小化簇内样本之间的距离,以实现相似数据的归类。2.算法步骤初始化:选择 K个初始聚类中心(centroids),通常是在数据集中随机选择 K 个数据点。分配步骤:对每个数据点,计算它到每个聚类中心的距离(通常使用欧几里得距离),然后将该数据点分配到最近的聚类中心所在的簇。
2024-12-27 15:13:16
1493
原创 反向传播算法(BP)python实现
本文所用的数据集来自西瓜书P150-154西瓜数据3.0,实现了一个单隐含层单输出的网络,不使用sklearn库直接训练,文章末尾会附上完整代码和数据集。BP算法基于梯度下降法,通过计算损失函数关于网络中各层权重和偏置的梯度,逐层反向传播误差,从而更新参数以减少预测误差。注意:偏置的主要作用是为激活函数提供一个平移,使得模型能够更好地拟合数据。即使输入的所有特征为零,偏置也能确保神经元有一个非零的输出。而阈值通常是用于激活函数的阈值判断条件,决定一个神经元是否被激活或激活的程度。
2024-12-20 10:00:00
1353
原创 朴素贝叶斯分类器——python实现
本文所用数据为西瓜数据3.0,参考西瓜书P150-154,不使用sklearn库直接训练,文章末尾会附上完整代码和数据集。
2024-12-12 12:00:00
1335
原创 线索二叉树——c语言详细注释版
一般的二叉树在遍历时采用递归的方式,在深度比较大时效率不如线性存储的数据结构。对于一棵有n个结点二叉树如:,其中‘#’表示留出一个空,如图中的结点H的左子树(实际上为空)。不难发现,将‘#’也看做是一个存储的信息时,一共会有2n个这样的信息需要被占用,但是由于‘#’没有实际含义,我们就猜想,能不能将‘#’的位置替换成某种其他信息,而这种信息可以记录这些结点之间的前驱后继关系?答案是肯定的。另外,我们不难发现,连接这些结点一共需要n-1条边,也就是说只需要有n-1。
2024-12-11 20:57:38
1056
原创 哲学家进餐问题——c语言实现
哲学家进餐问题”是一个经典的同步与并发编程问题,由艾尔弗雷德·阿尔维和丹尼斯·里奇在20世纪70年代提出,旨在探讨资源共享和互斥的问题。每位哲学家面前有一根筷子(或叉子),而吃饭需要同时握住左右两根筷子。:该问题有多种解决方案,如引入一个外部的“管家”来控制筷子的使用,或通过改变哲学家的取餐顺序来减少死锁的可能性。:确保在任何时刻只有一位哲学家能使用筷子,同时避免死锁,即所有哲学家都在等待彼此释放筷子,无法继续。:每位哲学家都需要访问共享资源(筷子),可能会导致资源竞争和死锁。
2024-12-10 19:53:06
622
原创 包含连续和离散值决策树的建立及可视化——ID3自建函数版
ID3(Iterative Dichotomiser 3)算法是由Ross Quinlan在1986年提出的一种用于生成决策树的算法。它是决策树学习中最早的算法之一,以其简单易懂和高效的性能广泛应用于分类问题。D3算法的核心是特征选择,它使用信息增益(Information Gain)来选择特征。
2024-12-03 20:15:58
2007
原创 c语言实现用信号量模拟生产者消费者问题
生产者-消费者问题描述了两个进程之间的协作,一个是生产者,负责产生数据并存储在缓冲区中,另一个是消费者,负责从缓冲区中取出数据进行处理。在多线程环境中,这两个进程需要通过某种机制来确保数据的一致性和有效性,避免竞争条件和数据丢失。
2024-11-27 22:11:14
737
原创 C语言双向链表
双向链表是一种链式数据结构,它为每个节点提供了两个指针,一个指向前一个节点,另一个指向后一个节点。这种结构比单向链表更灵活,允许在两个方向上遍历。
2024-11-25 16:37:05
309
原创 C语言顺序表
数据域顺序表是一种适合随机存取的线性数据结构,适用于许多基本的数据处理任务。了解顺序表及其操作方式,有助于更好地进行数据管理和处理。在选择数据结构时,应考虑顺序表的特点和使用场景,以便选择最合适的解决方案。
2024-11-25 16:15:27
424
原创 C语言单向链表
单向链表是一种基本的数据结构,在C语言中常用于组织和管理一系列元素。与数组不同,单向链表是一种动态数据结构,其大小可以在运行时增减。以下是对C语言单向链表的详细介绍,包括其特征、基本操作和相关用法函数体现及示例代码。
2024-11-25 15:32:53
2471
原创 操作系统实验--时间片轮转调度算法(c语言版)
结构体type: 用于存储进程的基本信息,包括:run_time: 预计运行时间。reach_time: 进程到达时间。pid: 进程标识符。
2024-11-13 18:18:08
921
原创 DrissionPage实战批量获取某东某产品评论
原本是想用selenium来爬取某电商的评论,奈何在配置完UA、cookie和token之后依旧无法看到需要的数据,群友推荐用DrissionPage,在了解之后发现上手很简单,也顺利获取到了想要的数据。
2024-10-25 11:55:34
1305
2
原创 正则表达式
正则表达式(Regular Expression,简称 regex 或 regexp)是一种用于描述字符串模式的工具。它可以用来搜索、匹配、替换和解析文本,广泛应用于编程、文本处理和数据验证等场景。本文将罗列与python爬虫密切相关的用法。
2024-10-25 11:17:05
873
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅