Python网络爬虫---虫术(进行中)
关于爬虫技术的总结博客是我一直早想写的内容,只不过一直没有时间和精力来确保写一篇高质量的博客,最近恰好做了一个爬虫项目,涉猎了很多内容,想要借此机会赶紧把这个坑给补了,也算是给自己的爬虫做一个Demo和总结。
对爬虫的理解
Python 爬虫或者其他语言的什么爬虫技术,在笔者的理解下,无非是包含了两个内容:一个是请求,一个是解析。其中最重要也是最核心关键的技术就在于对数据内容的请求。而解析过程呢,就是一个需要耐心处理获得数据的过程。
请求过程,是爬虫中最为关键也是最核心的内容。它的基本原理就是模拟浏览器向网页发送数据请求,如果你模拟得够像,并没有被网页后端的反爬技术抓获,你就能够得到网页后端根据你的请求给你的响应信息。当然如果你被识破为爬虫,你当然就会被阻拦而得不到你想要的响应信息。
解析过程,建立在请求信息成功而获得响应信息的基础之上,在这个基础上通过多种技术,处理获得的响应信息,来得到你所特定需要的信息,这个过程叫做解析。常用的解析方法根据你获得的响应信息内容来决定。如果你获得的响应信息是 json 格式,那将很好处理,Python 的字典将对应于这种数据结构,可以直接解析。如果 ...
国奖采访记录
很荣幸能在大二学年获得2021年国家奖学金,下面记录的是学院对国家奖学金获得者的一次采访,也是我自内心发出的一些关于获得国家奖学金的感想吧。我把它整理了一下,作为自己的一篇博客,既是一次回忆,也是对自己接下来生活的一次勉励,就像我在采访中所说的,获得国奖并不是一段旅程的结束,而是一段新的旅程的开始!
题问:入围国奖需要优异的成绩,而成绩取决于学习习惯。能分享一下你平时学习中的一些好的习惯吗?
我个人认为,大学的学习方式与高中有很大的不同,而其中最为重要的不同,在于大学的学习更需要个人的自觉性。在课内学习的过程中,上课的认真程度决定了一节课的课堂效率,而课堂效率保证了对课上知识的吸收程度,所以,为了提高课堂知识的吸收效率,每一节课,我争取坐到前几排,针对老师的课堂重点知识点和重点例题,及时记录在笔记本上。除了课堂内,课下的及时巩固也是避免知识遗漏与遗忘的必要行动。另外我觉得除了课内知识外,广泛涉猎自己知识圈外的技术技能,找到自己的兴趣所在,掌握一些能够真正用于自己生活中的技能,更能让我感到点亮一个个技能点的快乐。
提问: 相较同是入围国奖答辩的其他选手,你认为自己最终成功获奖的优势有 ...
LaTeX 常用语法格式总结
LaTeX 常用语法格式总结
[TOC]
作为一名 LaTeX 深度爱好者,却因为常常忘记 LaTex 相关语法而被迫停止写作去浪费一定的时间查询相关内容,但长久以来,我发现自己常常查询的也就是这些常用而难以熟记的语法,现将其总结如下:
本文基于用相关模板时所需的语法,部分修改文章整体格式的内容不收录于此,部分相关内容或以链接形式导出。
列表与计数
列表
enumerate与itemize默认结构
enumerate 默认为带序号列表,itemize 默认为无序号圆点列表,默认使用方法如下所示:
1234567891011% 有序列表基本结构\begin{enumerate} \item a \item b \item c\end{enumerate}% 无序列表基本结构\begin{itemize} \item a \item b\end{itemize}
enumerate与itemize自设定结构
有时,我们需要将有序列表前的序号改写为(1)(2)而并非1. 2. 时,或者我们需 ...
leetcode 好题笔记 —— [234] 回文链表
leetcode 好题笔记 —— [234] 回文链表
题目描述
给你一个单链表的头节点 head ,请你判断该链表是否为回文链表。如果是,返回 true ;否则,返回 false 。
示例1:
12输入:head = [1,2,2,1]输出:true
示例2:
12输入:head = [1,2]输出:false
提示:
链表中节点数目在范围[1, 105] 内
0 <= Node.val <= 9
实现算法
一、快慢指针
所谓快慢指针,是寻找链表中间节点的有效方法。也可用于判断链表回路是否存在环。
快慢指针算法思想:
定义快慢指针fast和slow,起始均位于链表头部。规定fast每次后移2步,slow后移1步;
若fast遇到null节点,则表示链表无环,结束;
此时slow点所在节点即为链表的中心节点,奇数链表返回中间值,偶数列表返回中间偏前值。
若链中有环,fast和slow一定会再次相遇;
当fast和slow相遇时,额外创建指针ptr,并指向链表头部,且每次后移1步,最终slow和ptr会在入环点相遇。
实 ...
C语言陌生点总结
此内容为本人大一第一学期学习C语言中遇到的难点总结,或者是容易忽略的点,并不是C语言的全面知识,而大部分是边角知识!
[TOC]
C语言的陌生点
CK出品,必属精品!
1.变量命名
可以用小写字母、大写字母、数字和下划线(_)来命名
注意:名称的第一个字符必须是字母或下划线,不能是数字!
有效的名称
无效的名称
cat2
Hot-Yab
_kcab
2cat
2.*(了解)位、字节和字
位(bit):最小的存储单元,可以存储0或1.
字节:常用的计算机存储单位,一字节均为8位(bit).
8位字节有256即2^8^种不同的组合,通过二进制编码便可表示0~255的整数或一组字符。
字(word):设计计算机时给定的自然存储单位。
对于8位微型计算机,一个字长只有8位。目前个人计算机字长增长到64位。计算机的字长越大,数据转移越快,允许的内存访问就更多。
3.基本数据类型及相关知识
int类型
一般而言,存储一个int类型的数据需要占用一个机器字长(至少占16位)。而对于32位及以上的计算机而言,int类型数据的取值数有2^32^个。
因 ...
综合评价理想解法(TOPSIS解法)
综合评价理想解法(TOPSIS解法)
[TOC]
问题的理想解法,理想解法亦称为 TOPSIS 法,是一种有效的多指标评价方法。这种方法。通过构造评价问题的正理想解和负理想解, 即各指标的最优解和最劣解,通过计算每个方案到理想方案的相对贴近度,即靠近正理想解和远离负理想解的程度,来对方案进行排序,从而选出最优方案。
计算步骤
TOPSIS 法的具体算法步骤如下:
用向量规划化的方法求得规范决策矩阵。设多属性决策问题的决策矩阵 A=(aij)m×n\boldsymbol{A}=\left(a_{i j}\right)_{m \times n}A=(aij)m×n, 规范化决策矩阵 B=(bij)m×n\boldsymbol{B}=\left(b_{i j}\right)_{m \times n}B=(bij)m×n, 其中
bij=aij/∑i=1maij2,i=1,2,⋯ ,m;j=1,2,⋯ ,n∘b_{i j}=a_{i j} / \sqrt{\sum_{i=1}^{m} a_{i j}^{2}}, i=1,2, \cdots, m ; j=1,2, \cdo ...
灰色预测模型
灰色预测模型
[TOC]
模型基本介绍
灰色预测模型是通过少量的、不完全的信息,建立数学模型做出预测的一种预测方法。
基于客观事物的过去和现在的发展规律,借助于科学的方法对未来的发展趋势和状况进行描述和分析,并形成科学的假设和判断。
对于时间序列短,统计数据少,信息不完全系统的分析与建模,具有独特的功效
既含有已知信息又含有未知信息的系统:灰色系统
完全已知:白色系统
完全位置:黑色系统
下面将介绍有关模型的几个相关概念
灰色生成数列
将原始数据列中的数据,按某种要求作数据处理称为生成。
灰色系统理论认为,尽管客观表象复杂,但总是有整体功能的,因此必然蕴含某种内在规律。关键在于如何选择适当的方式去挖掘和利用它。灰色系统时通过对原始数据的整理来寻求其变化规律的,这是一种就数据寻求数据的现实规律的途径,也就是灰色序列的生成。一切灰色序列都能通过某种生成弱化其随机性,显现其规律性。
常用的灰色系统生成方式有:
(1)累加生成
(2)累减生成
(3)均值生成
(4)级比生成
累加生成
累加生成,即通过数列间各时刻数据的依个累加以得到新的数据与数列.累加前的数列称原始数列,累加后 ...
2021暑假至微支教总结
2021暑假至微支教总结
2021.07.26 陈坤
前言
小时候,我很想当一名老师,一是觉得老师很厉害,所有的同学都得听老师的话;二是我很喜欢给同学讲题,尤其是给他讲明白了以后看到其“敬佩的目光”。六年前初一的暑假,一群来自不同大学的哥哥姐姐们,来到了我的母校,在接下来的一个星期里,带领包括我所在的一个班的同学,一起感受世界的魅力。
那个组织是YAPM (又称“芽盼”)中文全称民族未来文化传承人培养计划,隶属于北京大学科技教育交流协会,是一个致力于传承保护少数民族文化的公益项目。
这些一件件小事情就像一颗颗小种子,在我的心中发芽结果,当我得知成电的暑假支教活动时,毅然决然选择了参加!实现自己的心愿,更为了把曾经那份照在我身上的公益之光传下去。
一直以来,我在这次支教中对自己的要求就是,把支教做的纯粹些,这不是让我来体验生活的。纯粹的支教就是要去切身实际的为那些孩子们着想,想想他们需要什么,想想自己能为他们带来些什么,想想经过这几天的支教,又能改变什么。
授课
支教很快就开始了,我的身份,首先是一名授课老师。在选择课程时,我选择了一门“数学思维游戏与数学悖论”,针对这门课,我想 ...
2021 暑假支教日志(十一)
2021 暑假支教日志(十一)
2021.07.19 陈坤
家庭教育
今天最大的感悟,就是一个良好的家庭教育对一个人有多么大的影响。今天的主角是他——林欢,我对这个小男孩的印象特别深刻,因为他是我来支教见到的第一位小同学。我总能看到他整洁的衣服,精神的面貌,睿智的目光,机敏的动作,文雅的谈吐都让我觉得他是一个与众不同的人啊。
事实证明既是如此,当我第一次在上课就能感觉到他的不同:敏锐的目光,上课时的专注,回答问题时巧妙的思维。都让我对这位二年级小男孩惊叹不已。
做一个“抢数”的小游戏,五年级全班都没人能够发现的秘籍,他玩过一次就发现了。
他也是一个象棋高手,而他的同龄人还不知道象棋该怎么打。
手语里,课堂上最靓的仔就是他!
当我得知,他与六年级的另外一位非常聪明的林雷是亲兄弟,我就想啊,一个良好的家庭教育,是多么的重要!
2021 暑假支教日志(十)
暑假支教日志(十)
2021.07.18 陈坤
还有最后的两天课,最后的四天的时间,支教生活就要结束了,想想来还是很快的,这十天发生了什么,这十天带给孩子们什么知识,或者带给他们什么收获?接下来的四天内,我还能带给他们什么?我想并不是说我还能带给他什么,而是我还能做什么。我觉得,有一天算一天,不要说四天做什么,而要说我们要尽可能地带给他们更多的关系,更多的关爱,更多的知识。
阳光从窗外直射进来,照在了孩子们的脸上,我觉得让他们多一点扩展,多一点乐趣,多一点知识,真的很有意义啊!
苏老师的手语课
李老师的电子琴课
其实看到他们这么多的资源,有这么多的电子琴,说实话,比我们小学还要丰富一些。但是更重要的是如何去合理正确的使用他们,而不是放着这些东西去生灰,也是很重要的一个问题。看到他们一脸新奇的玩着电子琴,想到说不定未来这间十个人的小教室里诞生一位钢琴家,那是多么荣耀的一件事呀。
哈哈哈,今天和三年级小朋友玩的游戏,吴老师哭晕在厕所!