Programming
未读有时候写爬虫的时候会想要每隔固定的时间执行一次,所以就想到了设计一个定时任务,于是找到了Python的Schedule模块,记录一下关于Schedule模块的一些知识点。
schedule 模块是一个用于在 Python 中实现简单任务调度的库。它允许你以简洁的语法安排任务。
安装首先,安装 schedule 模块:
pip install schedule
基本用法及案例一个整体的示例import scheduleimport timedef job(): print("I'm working...")# 每三秒钟执行一次上面的任务jobschedule.every(3).seconds.do(job)while True: schedule.run_pending() time.sleep(1)
其中schedule.run_pending() 来运行所有准备好的任务。通常将其放在一个循环中,以持续检查和执行任务。
其他的一些定时任务写法schedule 模块使用一种类似自然语言的方式来安排任务。以下是一些常用的方法:
每隔 3 ...
Programming
未读最近捣鼓本地部署一些大模型应用,突然发现本地网页可以通过localhost:port访问,但是却不能通过127.0.0.1:port访问,所以去详细琢磨了一下这两者的区别。
奇怪的是我以前做的一些全栈项目,当初全凭心情来使用localhost或是127.0.0.1来访问也没啥问题,所以也不清楚问题的具体原因。
LocalHostlocalhost是一个主机名称,它是本地服务器名称,在访问localhost时,它指向本地电脑主机的网络地址,系统会自动把它解析成IP地址,通常即为本地回环地址127.0.0.1。但是,它可以被配置为任何IP地址,包括IPv4和IPv6。
127.0.0.1127.0.0.1是一个IPv4地址,它是一个特殊的IP地址,用于指向本地主机。在计算机网络中,127.0.0.1被称为回环地址(Loopback Address),它是一个特殊的IP地址,用于测试网络连接和本地服务。
区别localhost
是一个主机名。
通常解析为127.0.0.1,但解析依赖于系统的hosts文件配置。
127.0.0.1
是一个具体的 IPv4 地址。
直接指向本地环回 ...
Programming
未读跟课题组的一个学长合作的一篇论文, 最近发表了, 总结一下在代码设计中学到的算法。
首先,所谓优化算法,是指对算法的有关性能进行优化,如时间复杂度、 空间复杂度 、正确性、 健壮性 。由于算法应用情景变化很大,算法优化可以使算法具有更好泛化能力。 算法优化是指对算法的有关性能进行优化,如时间复杂度、 空间复杂度 、正确性、健壮性。 大数据时代到来,算法要处理数据的数量级也越来越大以及处理问题的场景千变万化。 为了增强算法的处理问题的能力,对算法进行优化是必不可少的。对一些流程比如加工行业、旅游行业等,进行优化,其中最为典型的问题就是旅行商问题(TSP)。总而言之,优化算法的总目的就是将整个过程的成本(比如金钱、时间、各种消耗等)最低,典型的优化算法包括: 遗传算法(GA)、禁忌算法(TS)、模拟退火算法(SA)、粒子群算法(PSO)、差分算法(DE)、生物地理算法(BBO)等,下面我会对这些算法都或多或少做一些代码方面的讲解,每篇讲解后面我都会附上代码。
1. 遗传算法(GA)遗传算法可以说是最基本的优化算法,它是根据人类生殖过程中染色体的变化而产生的,原理是对于父代数据进行编译,在通 ...
School
未读本机配置:AMD核显 + NVIDIA独显成功安装了optimus-manager管理显卡驱动,它可以很好接触显卡驱动的切换.于是昨晚因为屏幕刷新率问题尝试切换startup mode.
于是尝试切换启动项显卡驱动模式:
尝试nvidia独显直连启动:成功启动.使用感受上感觉到性能下降,图形动画效果变差.
尝试nvidia+amd混合启动:成功启动.使用感受极佳,推荐.
尝试amd核显启动:启动失败.无法进入kde.黑屏(显卡未通电的那种黑屏).可以进入tty.
于是尝试在tty中解决:
尝试卸载了optimus管理器,reboot,无效.
尝试optimus-manager - -switch nvidia,报错,无有效解决方法.
尝试进入bios,禁用核显启动,无法进入tty,风扇狂转,黑屏.
Your browser does not support the video tag.
至此,Arch宣告滚挂…….GG!
os驱动问题由于机器各有所不同很难解决,考虑到短学期需要使用电脑,所以打算重装.这次会尝试在grub里安装iso,这样就无需插u盘抢救系统.并且尝试 ...
School
未读不妨说windows已然成为历史的车轮印.
经过前三次的捣鼓,昨晚毅然卸载windows.
这样就不会arch装不好就继续用windows了.😭
晚上好,尊敬的Arch Linux用户!
Your browser does not support the video tag.
School
未读有一些方便数据库操作的SQL语句,它可以简化一些代码。总是或多或少忘记,记录一下。
我这里拿一个students表举例,表结构如下:
id
class_id
name
gender
score
1
1
张三
男
90
2
1
李四
男
85
3
2
王五
女
95
4
2
赵六
女
88
插入或替换如果我们希望插入一条新记录INSERT,但如果记录已经存在,就先删除原记录,再插入新记录。此时,可以使用REPLACE语句,这样就不必先查询,再决定是否先删除再插入。
REPLACE INTO students (id, class_id, name, gender, score) VALUES (1, 1, '小明', 'F', 99);
若id=1的记录不存在,REPLACE语句将插入新记录,否则,当前id=1的记录将被删除,然后再插入新记录。
插入或更新如果我们希望插入一条新记录INSERT,但如果记录已经存在,就啥事也不干直接忽略,此时,可以使用INSERT IGNORE INTO ...语句。
INSERT ...
Programming
未读使用selenium等工具类,在亚马逊平台上爬去商品信息和用户信息,并进行数据分析和分词统计,最后生成用户画像报告。
亚马逊平台访问需要代理访问!
github仓库: Github仓库地址
star和fork是一个好习惯!:)
点赞和关注也是好习惯!:D
1. 准备工作写在前面:代码本身很多函数是写在类当中的,如果单个函数无法使用,请滑到文章最后面查看完整代码!
需要的导入:
import reimport osimport timeimport mathimport pandas as pdfrom tqdm import tqdmfrom selenium import webdriverfrom selenium.webdriver.common.by import Byfrom selenium.webdriver.common.keys import Keysfrom selenium.webdriver.support.ui import WebDriverWaitfrom selenium.webdriver.support import expected_condi ...
School
未读冰墩墩是2022年北京冬奥会的吉祥物,确实好玩!
废话不多说,直接开画!
import timeimport turtlescreen = turtle.Screen()turtle.title('Python(冰墩墩)') # 可以自己修改名称turtle.speed(10) # 可以自己调节速度# 左手turtle.penup()turtle.goto(177, 112)turtle.pencolor("lightgray")turtle.pensize(3)turtle.fillcolor("white")turtle.begin_fill()turtle.pendown()turtle.setheading(80)turtle.circle(-45, 200)turtle.circle(-300, 23)turtle.end_fill()# 左手内turtle.penup()turtle.goto(182, 95)turtle.pencolor("black")turtle.pensize(1) ...
时维七月,序属二夏。
最近要系统的用到github,大学里看它的时候也是走马观花,现如今书到用时方恨少。于是,在一个老前端两天的帮助下,我对github的了解也是得到了一些提升。现在系统的将github用法做一个汇总,以方便后续的学习。
此篇博客默认已经安装好Git工具并配置好系统环境
1. 最先的配置操作安装好git后,首先需要配置git的用户名和邮箱,这样在提交代码时,就可以显示出提交者的信息。
git config --global user.name "Your Name"git config --global user.email "Your Email"
我在公司使用的电脑是有配置proxy的,访问Github会比较缓慢,可以取消代理配置。没有代理可以忽略。
git config --global --unset http.proxy
一次完整的克隆和上传1 首先进入到工作目录,在工作目录中初始化gitgit init
2 克隆仓库到本地首先你需要去github.com找到自己需要克隆的仓库链接。以我的仓库为例。github提供HTT ...
Programming
未读上次手写了Kmeans算法,但是关于分类数目K的取值,只是固定了两类,这次就手写一下Kmeans算法中K值的确定方法——肘部法则。
介绍一个词WCSS: WCSS是衡量聚类结果紧密程度的指标,表示每个样本点与其所属簇中心的距离平方和,简言之,就是样本类里面每个点到中心点的距离的平方,然后全部相加。
肘部法的详细步骤
确定K值范围选择一个合理的K值范围,一般从1开始,逐步增加,直到达到一个预设的最大K值(例如,K=10)。
计算不同K值下的WCSS对于每一个K值,执行以下步骤:
运行K均值算法:将数据集划分为K个簇。计算WCSS:计算簇内误差平方和,即所有样本点到其所属簇中心的距离平方和。
绘制肘部图在图中,横轴表示簇的数量K,纵轴表示对应的WCSS值。绘制K值与WCSS的关系曲线。
识别“肘部”位置观察曲线中WCSS下降速度显著减缓的位置,即曲线出现“肘部”的点。该K值被认为是最佳的聚类数。
Python代码实现沿用之前手写的Kmeans算法,这次我们只需要在Kmeans算法的基础上,增加计算WCSS和绘图流程即可即可。并且增加了一些数据。
import random# 一 ...