教你用python爬虫监控教务系统,查成绩快人一步!

教你用python爬虫监控教务系统,查成绩快人一步! 这几天考了大大小小几门课,教务系统又没有成绩通知功能,为了急切想知道自己挂了多少门,于是我写下这个脚本。 设计思路: 设计思路很简单,首先对已有的成绩进行处理,变为list集合,然后定时爬取教务系统查成绩的页面,对爬取的成绩也处理成list集合,如果newList的长度增加了,就找出增加的部分,并通过邮件通知我。 脚本运行效果: 服务器: 发送邮件通知: 代码如下: import datetime import time from emai
分类: 其他 发布时间: 01-06 20:34 阅读次数: 0

网上爬取快递100的快递公司名称和公司编码

import com.google.common.collect.Lists; import org.jsoup.Jsoup; import org.jsoup.nodes.Document; import org.jsoup.nodes.Element; import org.jsoup.select.Elements; import java.util.Date; import java.util.List; /** * 网上爬取快递100的快递公司名称和公司编码 工具类 */ p
分类: 其他 发布时间: 01-06 20:34 阅读次数: 0

2019上半年软件设计师真题及答案、刷题

软件设计师2019上半年真题及答案、刷题 1.计算机执行指令的过程中,需要由(1)产生每条指令的操作信号并将信号送往相应的部件进行处理,以完成指定的操作。 A.CPU的控制器 B.CPU的运算器 C.DMA控制器 D.Cache控制器 参考答案【A】 2.DMA控制方式是在(2)之间直接建立数据通路进行数据的交换处理。 A.CPU与主存 B.CPU与外设 C.主存与外设 D.外设与外设 参考答案【C】 3.CPU访问存储器时,被访问数据一般聚集在一个较小的连续存储区域中。若一个存储单元已被访问
分类: 其他 发布时间: 01-06 20:34 阅读次数: 0

Binder 原理整理

linux进程间通信方式 1. 管道 管道的实质是一个内核缓冲区,管道的作用正如其名,需要通信的两个进程在管道的两端,进程利用管道传递信息。管道对于管道两端的进程而言,就是一个文件,但是这个文件比较特殊,它不属于文件系统并且只存在于内存中。 管道克服了文件通信的问题: 限制管道的大小。实际上,管道是一个固定大小的缓冲区。进程A向管道内write(),当管道内存写满的时候,进程A会阻塞,直到进程B开始read()读出数据,此时管道中就可以有内存供进程A进行write。 读进程比写进程快的问题。当
分类: 其他 发布时间: 01-06 20:34 阅读次数: 0

while循环和do-while循环语句

while 语句 条件表达式的结果是一个 boolean 值,如果为true,则执行循环体;如果为 false,循环就会结束。 while 循环体是一个代码块,所以 while 循环是可以嵌套其他的语句的。包括 while 语句、 for 语句、 if 语句等等。 while (条件表达式) {   while 循环体 } 习题:利用while语句找到n个可以被整除的数。 public class FindNDiv { public static void main(String[]
分类: 其他 发布时间: 01-06 20:34 阅读次数: 0

cut 显示文本行特定内容参数

功能: cut是以每一行为一个处理对象的 ,cut命令用来显示行中的指定部分,删除文件中指 定字段。cut经常用来显示文件的内容 格式: cut(选项)(参数) 选项: -b 字节(bytes) [root@localhost ~]# who //原样输出展示 root pts/1 2020-01-06 18:52 (221.221.159.88) [root@localhost ~]# who|cut -b 3 //第三个字节 o [root@localhost ~]
分类: 其他 发布时间: 01-06 20:34 阅读次数: 0

python中简单工厂实现demo

1 class BenBen: 2 def __init__(self, money): 3 """ 4 奔奔金融支付 5 :param money:支付金额 6 """ 7 self.money = money 8 9 def pay(self): 10 print("收到奔奔金融支付金额{0}".format(self.money)) 11 12 13 c
分类: 其他 发布时间: 01-06 20:34 阅读次数: 0

产品用户研究

用户研究 1用户研究核心价值模型 1.1宏观背景:体验经济时代 商品/产品和服务层⾯的市场价值已经被充分挖掘,竞争激烈,⽽体验是新的价值洼地。 第一步观察宏观数据,掌握并且持续密切观察,自己建立数据库进行跟踪。这样就会发现宏观经济变动的轨迹。 第二步就是宏观数据之间的关系理解。 第三步基于1+2开始有自己对宏观的认识,不是判断。因为这个阶段只是看懂和理解分析研究报告。 1.2中观背景 ⼈货场剧烈变化,⼤⼩数据结合,才能保持产品卓越体验与竞争优势地位 2用研 2.1 ⽤研核⼼价值 Value o
分类: 其他 发布时间: 01-06 20:34 阅读次数: 0

txt文档写一个简单的html

1.新建txt文本文档 2.添加<h1>holle world!</h1> 3.保存 4.修改文件后缀名为html
分类: 其他 发布时间: 01-06 20:34 阅读次数: 0

Django进阶一

目录 表关系创建 django请求生命周期流程 路由层 无名分组 有名分组 反向解析 路由分发 名称空间 虚拟环境 django版本区别 伪静态 视图层 三板斧 JsonResponse前后端交互数据格式 form表单上传文件 后端如何获取 表关系创建 一对多 多对多 一对一 # 如何判断 换位思考 以图书管理管理系统 图书表 图书和出版社是一对多的外键关系 一对多外键关系 外键字段建在多的那一
分类: 其他 发布时间: 01-06 20:34 阅读次数: 0

Linux:grep命令详解

【参考文章】:   grep(global search regular expression(RE) and print out the line,全面搜索正则表达式并把行打印出来)是一种强大的文本搜索工具,它能使用正则表达式搜索文本,并把匹配的行打印出来。 1. 用法   grep [选项]... PATTERN [FILE]... 2. 参数选项 2.1 正则表达式选择与解释   -E, --extended-regexp PATTERN 是一个可扩展的正则表达式(缩写为 ERE)   
分类: 其他 发布时间: 01-06 20:34 阅读次数: 0

Leetcode 45 跳跃游戏 贪心

题目描述: 题解:一开始的时候想到用的是dp,但是dp的复杂为O(n^2),超时了。仔细想想发现是一道贪心的题目,贪心地选择可达距离最大的位置作为每次跳跃的落点。具体描述见代码: AC代码: int jump(vector<int>& nums) { int Len = nums.size(); int ans = 0; if(Len == 1) return 0; for(int i=0;i
分类: 其他 发布时间: 01-06 20:34 阅读次数: 0

DDS信号发生器设计

DDS即直接数字合成器,是一种新型的频率合成技术。具有较高的频率分辨率,可以实现快速切换,并且在频率改变时保持相位 的连续性,很容易实现频率、相位和幅度的数字控制。因此,在现代电子系统及设备的信号源设计中。尤其是在通信领域,应用尤为广泛。 图8.1所示为DDS基本结构,由相位累加器、相位调制器、正弦ROM查找表、D/A器件构成。相位累加器是整个DDS的核心,完成相位累加运算。 相位累加器的输入是相位增量B,由于B与输出频率呈线性关系:,因此相位累加器的输入又称为频率字输入,对应 输出频率关系为
分类: 其他 发布时间: 01-06 20:34 阅读次数: 0

wireshark大作业——负载均衡

SDN分组实验作业——负载均衡 一、作业描述 分组实验分工: 作业属于哪个班级、分组 软件定义网络SDN2019 (福州大学) Wireshark分组 学号 姓名 工作分配 分工占比 031702115 连振升 代码编写、构建拓扑等 27% 031702117 童圣涛 视频制作、程序调试 27% 031702118 范文辉 代码编写、构建拓扑等 26% 031702143 蔡智伟(组长) 资料收集、设计、博客撰写 20% 分组报告分工: 作业属于哪个班级、分组 软件定义网络SDN2019 (福
分类: 其他 发布时间: 01-06 20:34 阅读次数: 0

2019kali安装以及汉化

Kali Linux2019.4版本包括了一些令人兴奋的新更新: 一个新的默认桌面环境,Xfce 新的GTK3主题(用于Gnome和Xfce) “Kali Undercover”模式介绍 Kali文档有了一个新家,现在支持Git 公共包装-把你的工具放进Kali 安装在Android上的NetHunter Kex – Full Kali 桌面 安装过程中的BTRFS 添加PowerShell 内核升级到5.3.9版本 加上正常的错误修复和更新。 Kali官方下载地址:https://www.k
分类: 其他 发布时间: 01-06 20:34 阅读次数: 0

vue-element-admin 模板 登录报405错误 Request failed with status code 405

1、打开main.js cd vue-element-admin/src vim main.js 2、将把 “production” 改成 “development”即可 import { mockXHR } from ‘…/mock’ if (process.env.NODE_ENV === ‘production’) { mockXHR() } 3、若第2步不成功,将判断语句删掉,即 import { mockXHR } from ‘…/mock’ // if (process.env.N
分类: 其他 发布时间: 01-06 20:17 阅读次数: 0

如何快速的做决定做选择而不纠结

长辈们经常教我们三思而后行,让我们避免做事情太过鲁莽, 比如头脑一热就干嘛干嘛,比如说了不该说的话,做了不应该做的事情,显得自己不知道轻重,比如不买票就一个地方,站着特别累,事情并没有做好, 纠结反复衡量得失利弊,得大于失就可以做,这是一种情况; 我就是一个纠结的人,你让我不纠结可能吗? 我大事小事都纠结,自以为然地总想找到最优解.因此错过了青年期某一段时光.对于很多事情只是停留于想的阶段,就跟<>里面的那个我欲去南海一样,纠结准备,反复思考,比如前段时间想去东湖钓鱼,怕钓不到,怕被抓,怕路程
分类: 其他 发布时间: 01-06 20:17 阅读次数: 0

数组理论学习

数组结构和基本元素 标识符:数组名,区分不同数组 数组元素:向数组存放数据 元素下标:对数组元素进行编号 元素类型:数组元素的数据类型 语法 数组类型[] 数组名 = {};或者new 数据类型[]{}; 例如: int[] num = {1,3,5}; int[] num2 = new int[]{2,4,6}; 小结 1、数组是保存相同数据类型的集合 2、数组的元素使用整数值的下标进行访问 3、数组的启动元素的下标值是从0开始的 4、数组名只一个名称 5、数组的长度length的值是固定
分类: 其他 发布时间: 01-06 20:17 阅读次数: 0

在Delphi中使用内联变量(inline variables) 的5个理由

内联变量声明(Inline Variable Declaration)是Delphi Rio 10.3中引入的功能。它是什么? 简而言之,可以在代码的任何行中声明一个变量。也就是说,您可以在begin..end块中以这种方式声明变量: procedure Test; begin var I: Integer; I := 22; ShowMessage (I.ToString); end; 许多人已经了解了此功能的工作原理,但不了解为什么它很有趣。在本文中,我将向您展示
分类: 其他 发布时间: 01-06 20:17 阅读次数: 0

Maven: exec-maven-plugin 设置 classpathScope

因为项目的pom文件中依赖定义scope为provided,只能在compile与test阶段引入,如下。 <dependency> <groupId>${project.groupId}</groupId> <artifactId>atser-common</artifactId> <version>${project.parent.version}</version> <scope>provided</scope> </dependency> 通过maven
分类: 其他 发布时间: 01-06 20:17 阅读次数: 0