前言最近学习了Fiddler抓包工具的简单使用,通过抓包,我们可以抓取到HTTP请求,并对其进行分析。现在我准备尝试着结合Python来模拟GitHub登录。Fiddler抓包分析首先,我们想要模拟一个网站的登录,我们必须要简单了解其大致过程。在这里,我通过Fiddler来抓取GitHub登录的请求,从网页上登录的URL为:https://github.com/login,抓包结果如下:左边的是会话列表,右边的是请求和响应的数据。一般情况下,登录都是用PO
系统 2019-09-27 17:52:33 2173
定时与邮件在这一关,我们希望为一般的爬虫程序新增两个实用性比较强的功能:第一是定时功能,即程序可以根据我们设定的时间自动爬取数据;第二是通知功能,即程序可以把爬取到的数据结果以邮件的形式自动发送到我们的邮箱。这两个功能可以让爬虫程序定时向我们汇报。试想一下,如果你是一位股票(或比特币)的持有者,你希望及时爬取股票(或比特币)每日的价格数据,方便你能及时卖出或买入,那每天都去启动一遍爬虫程序是极其不高效的。而此时,如果你的爬虫程序有定时和发送邮件功能,能自动
系统 2019-09-27 17:50:59 2173
Python数据科学入门DmitryZinoviev著熊子源译第10章机器学习监督学习尝试从具有标记的训练数据集中推断出预测函数,其中训练数据集中的每一个样本属于哪类都是已知的。(线性回归、逻辑回归、随机决策森林、朴素贝叶斯分类、支持向量机、线性判别分析、神经网络)无监督学习尝试在没有标记的数据中找出隐藏的结构。(K均值、社区检测、分层聚类、主成分分析)第48单元设计预测试验完成模型的建立、评估和验证有一下四个步骤:将输入数据分成训练集和测试集(一般占比为
系统 2019-09-27 17:50:40 2173
一、concurrent模块的介绍concurrent.futures模块提供了高度封装的异步调用接口ThreadPoolExecutor:线程池,提供异步调用ProcessPoolExecutor:进程池,提供异步调用ProcessPoolExecutor和ThreadPoolExecutor:两者都实现相同的接口,该接口由抽象Executor类定义。二、基本方法submit(fn,*args,**kwargs):异步提交任务map(func,*iter
系统 2019-09-27 17:49:19 2173
一、排序【这里介绍冒泡排序、选择排序、快速排序和插入排序】1.冒泡排序(1)原理解释:冒泡排序,分多轮排序。1)每一轮都是从上层的第一个数开始与其下一个数进行对比,如果大于下一个数就进行交换,下次对比就从上面第二个数【不管之前有无交换】再与其下一个数进行比较,依次比较到最后一个数。【如图i的移动变化】2)第一轮比较【j=0】。比较了最底下第二个数和最底下这个数后,即第一轮比较完。所以第一轮比较的次数为n-1次,即从上面第一个数一直比较到底下第二个数。【其中
系统 2019-09-27 17:48:20 2173
在类中每次实例化一个对象都会生产一个字典来保存一个对象的所有的实例属性,这样非常的有用处,可以使我们任意的去设置新的属性。每次实例化一个对象python都会分配一个固定大小内存的字典来保存属性,如果对象很多的情况下会浪费内存空间。可通过__slots__方法告诉python不要使用字典,而且只给一个固定集合的属性分配空间classFoo(object):__slots__=("x","y","z")def__init__(self,x,y):self.x=
系统 2019-09-27 17:48:00 2173
python&&多线程多进程及主机管理&&学习笔记多线程知识回顾关于python"假线程"的说法python是非线程安全的语言基本多进程示例基本多进程示例2多进程之进程间通讯示例1多进程间内存共享示例1多进程之进程间通讯示例2多进程间内存共享示例2多进程间内存共享示例3进程池Pool利用pool产生多进程示例多进程多线程执行示例1IT审计堡垒机的开发示例审计堡垒机的安全控制shellinaboxd异步Select、poll&epoll(异步IO模型)sel
系统 2019-09-27 17:47:38 2173
近日,在阅读《FluentPython》的第2.9.2节时,有一个关于内存视图的例子,当时看的一知半解,后来查了一些资料,现在总结一下,以备后续查询;示例复述添加了一些额外的代码,便于更好理解memoryview>>>importarray>>>numbers=array.array('h',[-2,-1,0,1,2])>>>memv=memoryview(numbers)>>>len(memv)5>>>memv[0]-2>>>memv_oct=memv.
系统 2019-09-27 17:47:26 2173
LDAP(LightDirectoryAccessPortocol)是轻量目录访问协议,基于X.500标准,支持TCP/IP。LDAP目录以树状的层次结构来存储数据。每个目录记录都有标识名(DistinguishedName,简称DN),用来读取单个记录,一般是这样的:cn=username,ou=people,dc=test,dc=com几个关键字的含义如下:basedn:LDAP目录树的最顶部,也就是树的根,是上面的dc=test,dc=com部分,一
系统 2019-09-27 17:47:14 2173
原题|GeneratingaPEGParser作者|GuidovanRossum(Python之父)译者|豌豆花下猫(“Python猫”公众号作者)声明|本翻译是出于交流学习的目的,基于CCBY-NC-SA4.0授权协议。为便于阅读,内容略有改动。首发地址:https://mp.weixin.qq.com/s/oj...我已经在本系列第二篇文章中简述了解析器的基础结构,并展示了一个简单的手写解析器,根据承诺,我们将转向从语法中生成解析器。我还将展示如何使用
系统 2019-09-27 17:47:14 2173