程序开发

使用Python更换外网IP

在进行数据抓取时,经常会遇到IP被限制的情况,常见的解决方案是搭建代理IP池,或购买IP代理的服务。除此之外,还有一个另外的方法就是使用家里的宽带网络进行抓取。由于家里的宽带每次断开重新连接时都会分配一个新的IP,所以在我们抓取数据的时候,判断 ...
2 sec read

Python多线程与多进程

在学习Python的过程中,有接触到多线程编程相关的知识点,先前一直都没有彻底的搞明白。今天准备花一些时间,把里面的细节尽可能的梳理清楚。
4 min read

Python Requests 抓取失败时的重试设置

最近在抓取数据的时候,经常遇到连接超时的问题,分析原因居然是DNS污染导致的,为了让程序更加稳健,需要对requests请求实现失败重试的逻辑。
6 sec read

Python连接和使用MongoDB学习笔记

MongoDB相对于传统的关系型数据库,可以存储JSON数据,非常适合存储数据抓取返回的JSON数据。先前介绍过MongoDB在Windows的安装,今天主要学习的是使用Python连接MongoDB,并进行增删改查的操作。
22 sec read

Python数据分析学习笔记:Numpy(三)

统计函数 NumPy 有很多有用的统计函数,用于从数组中给定的元素中查找最小,最大,百分标准差和方差等。 函数说明如下: numpy.amin()和numpy.amax()这些函数从给定数组中的元素沿指定轴返回最小值和最大值。 示例: [crayon-5b27b0d821c33715355 ...
1 min read

Python数据分析学习笔记:Numpy(二)

切片和索引 ndarray对象的内容可以通过索引或切片来访问和修改,就像 Python 的内置容器对象一样。如前所述,ndarray对象中的元素遵循基于零的索引。有三种可用的索引方法类型:字段访问,基本切片和高级索引。 基本切片 基本切片是 Python 中基本 ...
2 min read

Python数据分析学习笔记:Numpy(一)

NumPy 是一个Python包。 它代表 “Numeric Python”。 它是一个由多维数组对象和用于处理数组的例程集合组成的库。Numeric,即NumPy的前身,是由Jim Hugunin开发的。2005年,Travis Oliphant 通过将Numarray的功能集成到Numeric包中来创建NumPy包。NumPy 通 ...
1 min read

使用Python进行内容/商品热度分析

在日常的网站或者APP的开发中,经常会遇到需要提供最近热门的功能,比如博客上最近热门的文章、 比如电商网站上最近热门的商品。想要实现最近热门最简单的方法是,取最近一段时间(比如一周),查看最近一段时间内的浏览量或订单数,按照数量进行排序。
4 sec read

用于消息验证的hash算法:HMAC

通过哈希算法,我们可以验证一段数据的有效性,方法就是对比该数据的哈希值,例如,我们用保存在数据库中的password_md5对比计算md5(password)的结果,如果一致,用户输入的口令就是正确的。为了防止黑客通过彩虹表根据哈希值反推原始口令,在计算哈希时 ...
36 sec read

加密解密算法之RSA

在了解RSA之前,需要先要对对称加密和非对称加密有个初步的了解。对称加密就是加密和解密使用同一个密钥。对称加密快而且方便,但是有个缺点,密钥容易被偷或被破解。非对称算法把密钥分成两个,一个自己持有叫私钥,另一个发给对方,还可以公 ...
1 min read

加密解密算法之Base64x

在程序开发中,我们会经常使用Base64对字符串或二进制数据进行编码解码,虽然字符串在经过Base64编码后看上去很像被加密过,但是并不能成为加密解密算法,原因是Base64的编码解码过程非常的简单,且编码解码的流程的算法是公开的,起不到任何加密的效果。 ...
5 sec read

加密解密算法之AES

数据加密标准(Data Encryption Standard: DES)的密钥长度是56比特,因此算法的理论安全强度是256。但二十世纪中后期正是计算机飞速发展的阶段,元器件制造工艺的进步使得计算机的处理能力越来越强,DES将不能提供足够的安全性。1997年1月2号,美国国家 ...
54 sec read