写的dht协议搜索的程序,这几天优化了一下发现速度确实快了好多。但是出现了一个新的问题,内存直接飙升,我开了十个爬虫占用内存800m。开始我以为是节点太多了,找了几个小问题修改一下,发现没用。后来就到网上查找python内存分析的工具,查了一点资料发现python有个meliae库操作非常方便,就使用分析了一下,发现不是节点太多的原因00,是保存发送的t_id,用来标示返回的消息是那个发出的一个字典过大了。从分析的结果非常容易的定位了某个对象的数量和大小,
系统 2019-09-27 17:52:11 1994
python解析网页,无出BeautifulSoup左右,此是序言安装BeautifulSoup4以后的安装需要用eazy_install,如果不需要最新的功能,安装版本3就够了,千万别以为老版本就怎么怎么不好,想当初也是千万人在用的啊。安装很简单复制代码代码如下:$wget"http://www.crummy.com/software/BeautifulSoup/download/3.x/BeautifulSoup-3.2.1.tar.gz"$tarzx
系统 2019-09-27 17:51:29 1994
一、定义见百度百科链表链表由表头和节点组成,节点分为数据域和指针域,数据域中存贮数据元素,指针域存储下个结点的地址二、单链表实现逻辑创建节点类Node和链表类Linklist,Linklist类中包含head属性,head的值为0或Node对象,Node类中包含value属性存储数据,next属性存储下个节点的地址(Node对象)循环节点从head开始取next属性,直到next=0为止,返回当前对象添加节点时调用循环方法返回最后一个节点对象,把返回节点的
系统 2019-09-27 17:51:27 1994
Python爬虫之设置seleniumwebdriver等待ajax技术出现使异步加载方式呈现数据的网站越来越多,当浏览器在加载页面时,页面上的元素可能并不是同时被加载完成,这给定位元素的定位增加了困难。如果因为在加载某个元素时延迟而造成ElementNotVisibleException(不可见元素异常)的情况出现,那么就会降低自动化脚本的稳定性,设置元素等待可改善这种问题造成的不稳定。一、强制等待强制等待是利用python语言自带的time库中的sle
系统 2019-09-27 17:51:22 1994
一、concurrent模块的介绍concurrent.futures模块提供了高度封装的异步调用接口ThreadPoolExecutor:线程池,提供异步调用ProcessPoolExecutor:进程池,提供异步调用ProcessPoolExecutor和ThreadPoolExecutor:两者都实现相同的接口,该接口由抽象Executor类定义。二、基本方法submit(fn,*args,**kwargs):异步提交任务map(func,*iter
系统 2019-09-27 17:49:19 1994
python基础学习笔记(七)2013-04-2400:16虫师阅读(...)评论(...)编辑收藏本章介绍如何将语句组织成函数,这样,可以告诉计算机如何做事。下面编写一小段代码计算婓波那契数列(前两个数的和是第三个数)fibs=[0,1]#定义一个列表,初始内容是0,1foriinrange(8):#循环8次fibs.append(fibs[-2]+fibs[-1])#append在末尾追加一个数,这个是它前面两个数的和#输入>>>fibs#输出[0,1
系统 2019-09-27 17:48:55 1994
启动python从IDLE启动PythonIDLE是一个PythonShell。Shell的意思是“外壳”,是一个通过键入文本与程序交互的途径(类似windows中的cmd。VisualStudio也是一种Shell)>>>是指Python准备好了,可以输入Python指令alt+N快速回到上一条语句(复制粘贴);alt+P下一条字符串print("hello,world")#"内是字符串"计算print(5+3)括号内没有""+print("ilove"
系统 2019-09-27 17:48:40 1994
支持向量机是一种二分类模型,基本模型是定义在特征空间的间隔最大的线性分类器。间隔最大化使它有别于感知机。在面试中,经常遇到手推SVM,所以公式的推导也很重要。模型:策略:间隔最大化,形式化为求解凸二次规划,等价于正则化的合页损失函数最小化算法:略支持向量机包括:线性可分支持向量机,线性支持向量机,非线性支持向量机间隔最大化的直观解释:对训练数据集找到几何间隔最大的超平面意味着以充分大的确信度对训练数据进行分类。使其面对最难分的实例点也有足够大的确信度将它们
系统 2019-09-27 17:47:32 1994
遍历Redis数据库中有以格式为PREFIX_*的按照key-value方式存储的key,并打印其值.遍历使用SCAN,因为KEYSPREFIX_*可能会造成Redis长时间阻塞。查询使用pipeline减少交互,提高效率。importredisimporthiredispool=redis.ConnectionPool(host='127.0.0.1',port=6379,db=0)r=redis.Redis(connection_pool=pool)p
系统 2019-09-27 17:47:28 1994
列表是包含0个或多个对象应用的有序序列,列表的长度和内容都是可变的;列表没有长度限制,元素类型可以不同;所有元素放在一对方括号中,相邻元素之间用逗号分隔开。使用赋值运算符“=”创建列表如a-list=[‘physics’,‘chemistry’,2017,2.5]b-list=[‘wade’,3.0,81,[‘bosh’,‘haslem’]]c-list=[1,2,(3.0,‘helloworld!’)]d-list=[]e-list=list()使用列表
系统 2019-09-27 17:46:18 1994