Python:第一篇 网络爬虫入门
这只是一个最最最基础版本的Python爬虫入门,代码是我两年前写的,最近两天没事翻出来再写(shui)一篇博客。就是爬取王者荣耀英雄的皮肤。然后备注也是写的十分的详细,所以就不做过多的解释,如果想提高自己Python水平的同学可以照着敲一遍。
获取加载文件
打开王者荣耀官网。
然后随便点一个英雄的界面,然后按f12打开开发者调试工具。
然后我们把这个花间舞的头像指向的地址复制出来,就是后面那个地址,然后把它粘贴在地址栏,就可以看到我们得到了一张花间舞的高清图片,我们要爬取的就是这张图片。
获取图片地址信息
我们一般会多打开几张图片,然后观察他们的共性。
我们可以发现,就只有上面的141和bigskin后面的代码不一样,那我们就可以猜测414和199应该就是英雄的代号,2和3就是指第几张图片,这就好办了,那我们又怎么知道英雄的代码和皮肤的代号呢。
我们先返回到这个英雄界面,我们知道,网页要加载这些图片,肯定不是一开始就这样排好的,肯定有一个文件里面存了这些图片的信息,所以一般只需要更新那个文件就可以更新这个网页的内容了,我们先把那个文件找出来,一般这种文件都是json或者js为后 ...
天上的星星不见了
最近森林里出现了一件怪事,夜空中的星星每天晚上都会少一颗,最先发现这件事的是小狐狸。
为什么小狐狸会在意这种根本没人在乎的事情呢?原来,小狐狸种的葡萄快成熟了,他每天盯着这些青葡萄流口水,他实在是太喜欢吃葡萄了,可是现在又没法吃,最后导致自己经常性失眠。于是,小狐狸用起了最原始的办法,每天晚上躺在葡萄架下面数星星,一颗星星,两颗星星,三颗星星…等到小狐狸数够3000颗的时候,小狐狸就打着呼噜睡着了。
可是这一次,当小狐狸数到2999颗星星的时候,却找不到第3000颗星星了,到了第二天,只剩下2998颗星星了,小狐狸连续观察了好几天,发现每天都会比昨天少一颗星星。
这下子小狐狸开始着急了,如果这样下去,天上的星星越来越少,以后自己岂不是又要失眠了?
小狐狸的眼睛滴溜溜地转:“一定是谁把星星给偷走了,看我怎么把你找出来。”
小狐狸给葡萄树围上了木栅栏,带上背包和干粮就出发了。
第一天,小狐狸先去了长颈鹿的家,因为长颈鹿的脖子长,看得也远,说不定他知道是谁偷走了星星。
“长颈鹿先生,请问你知道是谁偷走了星星吗?”
“什么?星星少了吗?我看这夜空中的星星很多呀,怎么会少呢?”长颈鹿抬头看了 ...
嵌入式:第二篇 通信协议汇总
由于这几天接触到了各种通信协议,但是却没有搞懂,造成了一点尴尬。。。来总结一下各个通信协议之间的区别。
IIC协议(也叫I2C协议)
IIC协议(Inter-Integrated Circuit)协议,是由PHILIPS(荷兰皇家飞利浦)公司提出的。为了让主板、嵌入式系统或手机用以连接低速周边外部设备而发展。IIC协议是我们现在使用最多的通信协议。
物理接口
IIC总线只使用两条双向漏极开路的信号线(串行数据线:SDA,串行时钟线:SCL),并利用上拉电阻。IIC总线仅仅使用SCL,SDA两根线,就实现了数据间的交互。而且IIC支持的电压范围相当大,例如+3.3V或者+5V都可以。
SCL(Serial Clock):串行时钟线,传输CLK信号,一般是主设备向从设备提供
SDA(Serial Data):串行数据线,传输通信数据
物理接口示意图
IIC协议符合严格的通讯时序图,如果需要传输数据,就要符合通讯协议。
具体的时序图不需要知道的太清楚,了解即可。i2c时序图的详细讲解
地址及数据方向
IIC总线上的每个设备都有自己的独立地址,主机发起通讯时,通过 SDA 信号线发送设备地 ...
经典算法:第一篇 字符串匹配算法入门——KMP遍历算法
如何在一串字符串中高效的匹配到我们想找的字符串的位置?比如abcd中bc在哪个位置?
暴力匹配算法
假设我们有一个长字符串S:[BBCABCDABABCDABCDABDE]和短字符串P:[ABCDABD]
我们最容易想到的算法就是直接对字符串直接遍历,然后使用滑动匹配的方法一个一个进行比对。
首先让S[0]和P[0]进行比对,A!=B,所以匹配失败
再让S[1]和P[0]进行比对,依然失败,继续滑动
然后到S[5]和P[0]匹配成功,则让S[6]和P[1]相匹配,直到P被匹配完或者匹配失败为止。
直到S[10]遇到空格匹配失败,然后又继续从S[6]往后重新开始匹配。
至此,我们可以看到,如果按照暴力匹配算法的思路,尽管之前文本串和模式串已经分别匹配到了S[9]、P[5],但因为S[10]跟P[6]不匹配,所以文本串回溯到S[5],模式串回溯到P[0],从而让S[5]跟P[0]匹配。
这个时候,同学们思考一下,我们在S[10]匹配失败的时候有没有必要再回退到S[6]去?很显然,是没有必要的,为什么?
因为我们可以清楚的看到,回退回去肯定是匹配失败的,所以我们应该回退到哪个点?
...
几乎零成本打造你的专属hexo博客
几乎零成本打造属于你的专属hexo博客。
前言
本方法是基于阿里云对象云存储(OSS),先在PC本地生成Hexo静态博客页面,再使用aliyun-oss插件自动将静态网页上传到OSS上,就完成了。
我研究了一个礼拜,这个方法是搭建博客最简单的方法了,没有之一,不需要服务器,不需要域名,也不需要复杂的前端后端知识。
hexo介绍
hexo 可以理解为是基于node.js制作的一个博客工具,不是我们理解的一个开源的博客系统。其中的差别,有点意思。
hexo 正常来说,不需要部署到我们的服务器上,我们的服务器上保存的,其实是基于在hexo通过markdown编写的文章,然后hexo帮我们生成静态的html页面,然后,将生成的html上传到我们的服务器。简而言之:hexo是个静态页面生成、上传的工具。
准备工具
开始之前,建议你准备以下内容:
PC(推荐Windows 10)
腾讯云账号(腾讯云/Github都可以,本文使用阿里云)
一个域名(没有的话,私聊我,我帮你解析一个,申请一个的话需要备案,不过也不贵,就是需要大约一个礼拜的时间来回审核)
一颗机智的脑袋
搭建hexo环境
首先, ...
机器学习:第二篇 深度学习基础及数学原理
深度学习并没有想象的那么难,甚至比有些传统的机器学习更简单。所用到的数学知识也不需要特别的高深,本章将会一边讲解深度学习中的基本理论,一边通过动手使用PyTorch实现一些简单的理论,本章内容很多,所以只做一个简短的介绍。
这个是搬运的Pytorch手册里面的chapter2 2.2-deep-learning-basic-mathematics里面的内容。我觉得这个写的比较好,就搬运过来了。其他的以后再搬运吧。如果想要自己运行代码的话,可以下载下来,用jupyter运行一下就可以了。
监督学习和无监督学习
监督学习、无监督学习、半监督学习、强化学习是我们日常接触到的常见的四个机器学习方法:
监督学习:通过已有的训练样本(即已知数据以及其对应的输出)去训练得到一个最优模型(这个模型属于某个函数的集合,最优则表示在某个评价准则下是最佳的),再利用这个模型将所有的输入映射为相应的输出。
无监督学习:它与监督学习的不同之处,在于我们事先没有任何训练样本,而需要直接对数据进行建模。
半监督学习 :在训练阶段结合了大量未标记的数据和少量标签数据。与使用所有标签数据的模型相比,使用训练集的训练 ...
机器学习:第一篇 LSTM神经网络简单入门
One day ladies will take their computers for walks in the park and tell each other, “My little computer said such a funny thing this morning”.
—Alan Turing
写在前面
这是一个入门级的讲解,所以并不需要担心自己会看不懂,而且LSTM在神经网络中属于那种比较简单的模型。首先我们会简单讲解一下LSTM的原理,然后再结合一个例子。
软件要求
anaconda 3(64-bit) (anaconda是一个包管理和环境管理软件,因为我们在平时的使用中难免会遇到有些古老的包不支持最新的Python版本,或者是有些项目会使用到特定版本的模块,这时候就需要用到anaconda了)
Python IDE (直接使用Python自带的IDE也可以,但是好像并不好用,推荐使用anaconda自带的Jupyter Note,也可以使用Pycharm,我自己用的IDE是VScode)
tensorflow 2.1 (一般在anaconda自带的powersh ...
嵌入式:第三篇 STM32最小系统的组成结构
使用Altium Designer画一个最简单的单片机最小系统。
STM32最小系统的组成结构
1.时钟
2.电源
3.USB串口
4.复位按键
5.拓展接口
6.单片机主体
封装库
Altium Designer的封装库只有一些基本元件,这里打包一下常用的库,需要的话自己下。
altium designer元件库大全
提取码:h9v5
Altium Designer2020:下载地址/安装教程
在新版本中添加库的方法:
左上角>设置>Data Management>File-based Libraries>右下角 安装
时钟
一般选择8MHZ,方便倍频。
电源
这里用AMS1117模块。
USB串口电路
这里用的Micro USB,现在也可以使用Type C(推动Type C标准一统天下:stuck_out_tongue_winking_eye:)。
复位按键
通常低电平复位:(51单片机高电平复位,电容电阻位置调换)
上电复位,在上电瞬间,电容充电,RESET出现短暂的低电平,该低电平持续时间由电阻和电容共同决定,计算方式如下:
12t = 1.1R ...