Python爬虫从入门到小黑屋
还是希望能比较系统地回顾一下爬虫的一些知识,不过有一些我也记不清了。 可能对小白不是很友好。 如果看视频可以参考这个。 Python爬虫从入门到小黑屋 概论 爬虫的矛与盾 robots.txt协议: 君子协议。规定了网站中哪些数据可以被爬取哪些数据不可以被爬取。 Request与第一个爬虫 1pip install -i https://pypi.tuna.tsinghua.edu.cn/simple requests 1234567891011121314import requestsif __name__ == '__main__': url = "https://fanyi.baidu.com/sug" s = input("请输入你要翻译的英文单词") dat = { "kw": s } # 发送post请求, 发送的数据必须放在字典中, 通过data参数进行传递 resp = requests.post(url, data=d ...
isdu暑期维护日志
日志 2022.7.4 解决了一系列由于空值引发的问题,其中: 一个比较奇怪的问题 方法返回值并没有什么问题,但data['data']可能原本就是null导致的报错,通常发生在获取不到课表数据的情况下。 同样可能出现这种情况: 原因是 arr可能为null 除此之外解决了几个使用null调用isEmpty或者length()造成的NoSuchMethodError 2022.7.7 解决对于20级以后的一些必修课不计入绩点的问题。 根据绩点的计算策略,我们只需要更改课程属性即可。 api.dart中添加获取用户年级的方法,直接从键值对存储hive中获取登录时存储的学号值,取学号的前四位就是用户的年级。 获取成绩时直接在原有的遍历中加一个方法处理一下即可。 处理的方法如下,不同年级按不同规定进行处理 本学期成绩的获取也是从全部成绩中获取到的,所以只需要改完上面的代码即可。 2022.7.10 IDE的一个bug:修改代码后重新build不会将修改的代码进行应用。热重载后会应用部分修改的代码但再次热重载后又会变回原样。 flutter3.0.4版本,flutter cle ...
操作系统os-chapter1-6
期末90,考得还行吧。hmb出卷真的要命,有一道大题让你自己设计二级页表系统,我计组忘净了直接寄。 第一章 什么是操作系统 操作系统是一组控制和管理计算机硬件和软件资源、合理地对各类作业(程序)进行调度,以及方便用户的程序集合。操作系统是用户和计算机的接口,同时也是计算机硬件和其他软件的接口。 书上定义为操作系统是一直运行在计算机上的程序(通常称为内核) 操作系统最基本的两个特征:并发和共享 计算机系统组成 计算机系统的组织 计算机系统操作 计算机启动过程 https://zhuanlan.zhihu.com/p/60929600 其实电脑启动的过程是一个十分完善的硬件自检的过程,在加电自检的那几秒钟里面计算机可以完成上百道工序,下面就由我来与大家介绍一下这个过程。 第一步:在主板接通电源之后,系统就由POST(Power On Self Test,上电自检)开始自检,在我们刚刚接通电源的时候,整个系统由BIOS控制,电压还不太稳定(这个过程非常短暂,一般只有几毫秒,这个时候电压的稳定完全依靠主板和电源内部的滤波电容进行),主板芯片组会向CPU发出reset的命令让CPU开始初 ...
操作系统os-chapter7-13
第七章:死锁 死锁模型 死锁的概念还是经常考的 多道程序环境下,多个进程竞争有限资源。如果某个进程需求的资源被其他进程占用,则该进程可能被永久阻塞,这种情况称为 死锁(deadlock) 。 进程按照如下顺序使用资源: 申请(Request) :如果申请不能被允许(如资源正在被其他进程占用),则申请进程必须等待直到获得资源 使用(Use) 释放(Release) 资源的申请和释放都是系统调用,如设备的 request()/release(),文件的 open()/close(),内存的 allocate()/free() 等。对于进程或线程的每次执行,操作系统会检查并确保它们以获得所需资源。系统维护一张记录表,说明某个资源是否空闲,被分配给哪个进程。 永久性资源可分为: 可剥夺资源(可重用资源):当进程所占有的并使用的资源被剥夺时,对进程不产生破坏性影响(如内存、CPU) 不可剥夺资源:如打印机等,一旦剥夺则任务执行失败 死锁与饥饿/饿死的区别 也考过 Deadlock: A process waits for a resource that is curr ...
众智-社会网络
社会网络 三元闭包 在一个社交圈内,若两个人有一个共同的朋友,则这两人在未来成为朋友的可能性就会提高。我们将上述原则称为三元闭包 原理的拓展 量:两个人的共同朋友越多,则他们成为朋友的可能性越高 质:两个人与共同朋友的关系越密切,则他们成为朋友的可能性越高 如何定义考察三元闭包现象的测度 当前共同朋友数与后来成为朋友的概率关系 数据验证 统计相同数量的共同朋友下,出现新边(成为朋友)的概率 如何计算共同朋友数 邻接矩阵相乘 节点聚集系数 刻画三元闭包现象的一个常用参数,描述某个节点对朋友的聚集能力 节点A的聚集系数 = A的任意两个朋友之间也是朋友的概率(即邻居间朋友对的个数除以总对数) 社会网络结构的统计特征 度分布(包括图的入度和出度) 度分布函数。P(k)表示网络中度为k的节点在整个网络中所占的比例。 累积度分布函数(CumulativeDegree Distribution Function)。PkP_kPk表示度不小于k的节点的概率分布,其分布关系为Pk=∑x=k∞P(x)P_k=\sum_{x=k}^{\infty}{P(x)}Pk=∑x=k∞P(x) ...
众智-博弈论
博弈论基础 基本概念 参与人(player,玩家) 策略集(Strategy,战略) 回报(payoff,受益) 策略组:每个参与人出一个策略构成的策略组合 例如: 收益矩阵:表达博弈的一种直观方式 博弈中的行为推理 首先,假设参与人关心的是自身的最终收益。 其次,还假设每个参与人对博弈结构具有充分信息。 这意味着参与人都知道他/她自身的可能策略集。 最后,进一步假设每个个体策略的选择都是为了达到自身收益的最大化,假定他/她也知道其他参与人也会选择收益最大化的策略。 有关个体行为策略模式,通常被称为是理性化模型,且个体行为模型实际上结合了两种观点。 一是每个参与人都想要自已受益的最大化。因为个体收益被定义为是个体最在意的,这种假设看起来合理。 二是每个参与人实际上都会选择最优策略。在简单的设置背景下,假设博弈中的参与人都是有经验的,这似乎就更加合理。 在复杂博弈中,或者博弈中的参与人是经验比较少的,则确实是不够合理。 基于上面的假设,当无论其他参与人选择何种行为策略时,都会存在一个决策是最佳选择,则定义这个策略是严格占优策略 (strictly domina ...
database-system-concepts-1
前言 期末92,大家分都比较高。期末试卷满分70,不进行折算,扣一分是一分,要珍惜。 基本概念 数据 数据(Data)是数据库中存储的基本对象 数据的定义 描述事物(对象)的符号记录 数据是现实世界运转留下的痕迹 数据的特点 数据与其语义是不可分的 数据库 数据库(Database,简称DB)是长期储存在计算机内、有组织的、可共享的大量数据集合 数据库的特征 数据按一定的数据模型组织、描述和储存 在磁盘上的基本组织形式是文件 可为各种用户共享 冗余度较小 数据独立性较高 易扩展 数据库管理系统 数据库管理系统(Database Management System,简称DBMS)由一个互相关联的数据的集合和一组用以访问这些数据的程序组成。是位于用户与操作系统之间的一层数据管理软件。 DBMS的目标 科学地组织和存储数据、高效方便地获取和维护数据 DBMS的主要功能 数据定义功能 提供数据定义语言(DDL) 定义数据库中的数据对象 数据操纵功能 提供数据操纵语言(DML)操纵数据 实现对数据库的基本操作 (查询、插入、删除和修改) 数据库的运行管理 保证 ...
database-system-concepts-2
通用样例 关系模型 关系的基本概念 域(Domain) 一组值的集合,这组值具有相同的数据类型 域的基数:集合的值的个数 笛卡尔积(Cartesian Product) 一组域D1,D2,…,DnD_1 , D_2 ,…, D_nD1,D2,…,Dn的笛卡尔积为: D1×D2×…×Dn={(d1,d2,…,dn)∣di∈Di,i=1,…,n}D_1\times D_2\times …\times D_n = \{(d_1,d_2,…,d_n) | d_i∈D_i , i=1,…,n\}D1×D2×…×Dn={(d1,d2,…,dn)∣di∈Di,i=1,…,n} 笛卡尔积的每个元素(d1,d2,…,dn)(d_1,d_2,…,d_n)(d1,d2,…,dn)称作一个n-元组(n-tuple) 元组的每一个值 did_idi 叫做一个分量(component) 若DiD_iDi的基数为mim_imi,则笛卡尔积的基数为∏i=1nmi\prod_{i=1}^{n}{m_i}∏i=1nmi 关系 笛卡尔积D1×D2×…×D ...
database-system-concepts-3
SQL SQL概述 特点 一体化 集DDL,DML,DCL于一体 单一的结构----关系,带来了数据操作符的统一 面向集合的操作方式 一次一集合 高度非过程化 用户只需提出“做什么”,无须告诉“怎么做”,不必了解存取路径 两种使用方式,统一的语法结构 SQL既是自含式语言,又是嵌入式语言 对于关键字:大小写不敏感 组成 数据定义语言(DDL) 数据操纵语言 (DML) 数据控制语言(DCL) 事务控制(Transaction Control) 嵌入式SQL和动态SQL(Embedded SQL and Dynamic SQL) 基本数据类型 char(n):固定长度的字符串 长度不够使用空格补齐(取出时会自动trim把空格去掉) varchar(n):可变长字符串(varchar2) n是字符串长度上限 int:整数(-231–231-1) smallint:小整数类型(-215–215-1) numeric(p,d):定点数,小数点左边p位,右边q位 real:浮点数 double p ...
database-system-concepts-4
连接表达式 基本分类 连接成分 包括两个输入关系、连接条件、连接类型 连接条件 决定两个关系中哪些元组相互匹配 连接类型 决定如何处理与连接条件不匹配的元组 连接条件 on条件允许在参与有连接的关系的关系上设置通用谓词,该谓词的写法与where子句谓词类似。 1select * from s join sc on s.sno = sc.sno 等价于 1select * from s,sc where s.sno = sc.sno 在表名后面加外连接操作符(*)或(+)指定非主体表 非主体表有一“万能”的虚行,该行全部由空值组成。虚行可以和主体表中所有不满足连接条件的元组进行连接 由于虚行各列全部是空值,因此与虚行连接的结果中,来自非主体表的属性值全部是空值 如: 查询每个学生及其选修课程的情况包括没有选修课程的学生----用外连接操作 123SELECT s.sno,sname,gender,age,dno,cno,score FROM s,sc WHERE s.sno = sc.sno(*); 连接类型 内连接(i ...
database-system-concepts-5
E-R模型:Entity-Relationship Model 世界是由一组称作实体(entities)的基本对象和这些对象之间的联系(relationships)构成的 基本E-R图 基本概念 实体(Entity) 客观存在并可相互区分的事物叫实体(唯一标识) 具体的:如学生张三、汽车鲁A12345…… 抽象的:如软件学院、数据库系统课程…… 实体集(Entity Set) 是具有相同类型及即具有相同性质(属性)的实体集合 全体学生,全部课程,所有学院…… 组成实体集的各实体称为实体集的外延(Extension) 实体集可相交 属性(Attribute) 定义:实体集中每个成员具有的描述性性质 一个实体可以由若干个属性来刻画和描述 例如,学生可由学号、姓名、年龄、性别等属性描述 属性的类型 简单属性 (Sample Attribute) 不可再分的属性 如年龄、性别 复合属性(Composite Attribute) 可以划分为更小的属性 可以把相关属性聚集起来,使模型更清晰 如电话号码=区号+本地号码 单值属 ...
database-system-concepts-6
关系数据库设计 背景 RDB设计工程方法的代表:E-R图方法 绘制 E-R E−R→RDBE-R\rightarrow RDBE−R→RDB模式 模式优化 RDB设计工程方法的问题 E-R质量和设计人员能力水平相关 E-R质量难以保证,致使E-R方法设计质量难以保证 其它RDB模式工程设计方法存在类似问题 模式规范化方法的研究状况 提出了模式规范化的标准:为决定因素 1NF,2NF,3NF,BCNF,4NF,5NF,6NF 给出了泛关系分解到具体范式的算法 算法多为Np算法,无法实际执行 规范化方法学习价值 理解不同范式的优缺点 理解相应的模式改进方法 作为重要指导思想指导模式设计 本章讲述关系模式规范化理论、方法 好的关系设计特点 不必存储不必要的重复信息,同时又可以方便地获取信息 同数据本质结构相吻合 第一范式 如果某个域的元素被认为是不可再分的单元,那么这个域就是原子的(atomic)。如果一个关系模式R的所有的属性域都是原子的,我们称关系模式R属于第一范式(first normal form, 1NF) 关系数据库中的所有关 ...
database-system-concepts-7
第十二、十三章 RAID RAID:Redundant Arrays of Independent Disks(独立磁盘冗余阵列) 其实就是用多个独立的磁盘组成在一起形成一个大的磁盘系统,从而实现比单块磁盘更好的存储性能和更高的可靠性。 以下摘自知乎RAID磁盘阵列是什么(一看就懂) RAID5 这是目前用的最多的一种方式。 因为 RAID5 是一种将 存储性能、数据安全、存储成本 兼顾的一种方案。 在了解RAID5之前,我们可以先简单看一下RAID3,虽然RAID3用的很少,但弄清楚了RAID3就很容易明白RAID5的思路。 RAID3的方式是:将数据按照RAID0的形式,分成多份同时写入多块磁盘,但是还会另外再留出一块磁盘用于写「奇偶校验码」。例如总共有N块磁盘,那么就会让其中额度N-1块用来并发的写数据,第N块磁盘用记录校验码数据。一旦某一块磁盘坏掉了,就可以利用其它的N-1块磁盘去恢复数据。 但是由于第N块磁盘是校验码磁盘,因此有任何数据的写入都会要去更新这块磁盘,导致这块磁盘的读写是最频繁的,也就非常的容易损坏。 RAID5的方式可以说是对RAID3进行了改进。 RAID5模 ...
设计模式
分类与功能 创建型模式:用于描述“怎样创建对象”,它的主要特点是“将对象的创建与使用分离”。GoF 中提供了单例、原型、工厂方法、抽象工厂、建造者等 5 种创建型模式。 结构型模式:用于描述如何将类或对象按某种布局组成更大的结构,GoF 中提供了代理、适配器、桥接、装饰、外观、享元、组合等 7 种结构型模式。 行为型模式:用于描述类或对象之间怎样相互协作共同完成单个对象都无法单独完成的任务,以及怎样分配职责。GoF 中提供了模板方法、策略、命令、职责链、状态、观察者、中介者、迭代器、访问者、备忘录、解释器等 11 种行为型模式。 单例(Singleton)模式:某个类只能生成一个实例,该类提供了一个全局访问点供外部获取该实例,其拓展是有限多例模式。 原型(Prototype)模式:将一个对象作为原型,通过对其进行复制而克隆出多个和原型类似的新实例。 工厂方法(Factory Method)模式:定义一个用于创建产品的接口,由子类决定生产什么产品。 抽象工厂(AbstractFactory)模式:提供一个创建产品族的接口,其每个子类可以生产一系列相关的产品。 建造者(Builder)模 ...
面向对象笔记
面向对象 1234567String s1 = "java";String s2 = "java";String s3 = new String("java");String s4 = new String("java");//s1==s2:t//s1==s3:f//s3==s4:f s1==s2:java维护常量池,s1与s2会指向同一个对象。 而且s2="java1"也会构造新的对象,而不会赋值 下面来说一下,java中的隐藏和覆盖的概念。我们知道,当子类继承父类时,除了继承父类所有的成员变量和成员方法之外,还可以声明自己的成员变量和成员方法。那么,如果父类和子类的成员变量和方法同名会发生什么?假设有一个父类Father和一个子类Son。父类有一个成员变量a=0;有一个静态成员变量b=0;有一个成员方法a,输出0;有一个静态成员方法b,输出0。子类分别重写这些变量和方法,只是修改变量的值和方法的输出,全部改为1. 我们再声明一个静态类型是父类,动态类型是子类的引用: Father ...
英语科技文献总结
考试范围:1-20单元 题型: 科技文献常识及慕课测试 20题20分 4篇阅读理解(六级水平) 20题40分 句子翻译英译汉 5题15分 段落翻译 1题10分 文献总结归纳(summary) 1题15分 考点总结 绪论 科技文献类型(10种) 科技文献分类 一级文献(5种) 二级文献(2种) 三级文献(3种) 文体特点(5个) formality(正式) conciseness(简明) directness(直白) objective(客观) use of non-verbal-language 形态特点(3个) jargon(术语) nominalization(名词化) hedging(避让策略:话不说满) 语法特点(4个) 不同时态的使用(different tenses) 被动语态(passive voice) 虚拟语气(subjunctive mood) 祈使句(imperative sentences) 期刊 目的(2个) 11页第二段 类型 原创研究(original research ...
十天速通计组课设
计算机组成原理课程设计 参考了这篇博客 课程设计步骤 功能和用途 通过该课程设计的学习,我们设计一台模型机,该模型机运行在FPGA平台上,可以模拟真正的计算机设备的一部分功能,通过微指令进行实现,使其可以完成一些基本操作,包括:最基本的,加法及其溢出、全零、进位、符号判断操作。除此之外对模型机进行了拓展,实现了条件指令JX,使用相对寻址完成了寻址,此外如果计算结果溢出则将相应的溢出标志存到特定的地址下。 调试过程中通过平台指示灯观察内部的数据流动情况,了解计算机的运行、计算过程和内部的时序问题并辅助修改。 指令系统 指令格式 基本字长:8位 单字长指令:指令由高4位操作码、低4位全0构成。 双字长指令:指令由第一字节高4位操作码、低4位为寄存器组操作码;第二字节由操作数、操作数地址、偏移量等构成。 四字长指令:实验中唯一用到的四字长指令是是溢出标志存储指令。指令第一字节高4位为操作码,低4位为寄存器组操作码,第二字节为溢出标记值,第三字节为溢出写入地址,第四字节为指令的后继指令地址。 三种指令格式的高四位为操作码,支持16种不同的指令。实验中使用0001~1000作为九 ...
移动互联网期末名词解释
移动互联网名词 复习题目和范围 Android等移动开发开发环境,各部、功能、用法、流程等,术语SDK、NDK、clang、avd、adb、studio等。 Android中的技术,GUI元素和界面设计、声音录放、静图/动图、网路通信、性能C、权限、GPS和地图、二维码等。 传感器技术和创意应用设计,再举例:街头棋局app。https://blog.csdn.net/lanrenxiaowen/article/details/108051656 通信技术,ip、port、socket、tcp/udp/sctp、multicast/mdns、proxy、http/s、socks、mq、p2p、nat、socat、ssh/-L-R-D、JSch 与桌面开发不同的移动开发技术。 移动开发和云的结合:计算能力和续航能力的平衡、分布式计算或数据存储、云备份、安全加密等。 与时俱进的移动开发技术,各方面:接入、通信、存储、界面、显示、Web/HTML、云、各种识别等。 从HTML/5到WebView的开发技术和过程。 H5/Canvas和Android/Canvas Android上app代码运行 ...