在日常PC端的Python爬虫过程工作中,Chrome浏览器是我们常用的一款工具。鉴于Chrome浏览器的强大,Chrome网上应用商店很多强大的插件可以帮助我们快速高效地进行数据爬虫。今天推荐的6款Chrome插件,可以大大提升我们的爬虫效率。EditThisCookieEditThisCookie是一个Cookie管理器,可以很方便的添加,删除,编辑,搜索,锁定和屏蔽Cookies。可以将登录后的Cookies先保存到本地,借助cookielib库,直
系统 2019-09-27 17:53:24 2009
说到流处理,Spark为我们提供了窗口函数,允许在滑动数据窗口上应用转换,常用场景如每五分钟商场人流密度、每分钟流量等等,接下来我们通过画图来了解SparkStreaming的窗口函数如何工作的,处理过程图如下所示:上图中绿色的小框框是一批一批的数据流,虚线框和实线框分别是前一个窗口和后一个窗口,从图中可以看出后一个窗口在前一个窗口基础上移动了两个批次的数据流,而我们真正通过算子操作的数据其实就是窗口内所有的数据流。在代码实现前了解下窗口操作常用的函数有:
系统 2019-09-27 17:52:34 2009
一、首先二叉树的定义:classTreeNode:def__init__(self,x):self.val=xself.left=Noneself.right=None构建一棵二叉树:classNode(object):def__init__(self,val):self.val=valself.lchild=Noneself.rchild=NoneclassTree(object):def__init__(self):self.root=Noneself
系统 2019-09-27 17:52:24 2009
作为eclipse的忠实粉丝,我自然乐意用eclipse来编写。于是捣鼓了一小会儿就搞好了。但是我运行的第一个程序出现了一个很奇怪的问题:SyntaxError:(unicodeerror)‘utf-8’codeccan’tdecodebyte0xceinposition16:invalidcontinuationbyte我隐约的看到了utf-8,知道了肯定是编码的问题,可是我寻思我没有写汉字呀原来是自动生成的日期中有中文。删掉就好了。但是如果我们真的需要
系统 2019-09-27 17:52:01 2009
2019-09-18-21:11:24(初学者不会学博客,望大家见谅见谅)今天学的内容是有关list.、dict、set集合的使用方法和注意事项list和dict在循环中不可删,而且list在迭代输出时进行删除是会导致索引跟着改变所以一般list不在循环过程中进行删除list和dict要进行删除时,应该把要删除的记录到另一个列表中,然后在进行删除深浅拷贝:浅拷贝只拷贝第一层的内容,而深拷贝是全部内容都进行了拷贝下面是总结的内容:一.重要知识点1.str.j
系统 2019-09-27 17:51:29 2009
1.random.random()random.random()方法返回一个随机数,其在0至1的范围之内,以下是其具体用法:importrandomprint("随机数:",random.random())输出结果:0.228675212571162.random.uniform()random.uniform()是在指定范围内生成随机数,其有两个参数,一个是范围上限,一个是范围下线,具体用法如下:importrandomprint(random.unif
系统 2019-09-27 17:51:23 2009
walker经常用到当前时间和相对时间,用来统计程序执行的效率,简单记一下,便于copy。相对时间>>>importtime#相对时间>>>startTime=time.time()>>>'%.2fs'%(time.time()-startTime)'24.51s'格式化当前时间#格式化当前时间>>>time.strftime('%Y-%m-%d%H:%M:%S',time.localtime())'2016-01-0510:34:06'时间戳与时间的转换
系统 2019-09-27 17:50:52 2009
作为Python程序员,应该能够正视Python的优点与缺点。众所周之,Python的运行速度是很慢的,特别是大数据量的运算时,Python会慢得让人难以忍受。对于这种情况,“专业”的解决方案是用上numpy或者opencl。不过有时候为了一点小功能用上这种重型的解决方案很不划算,或者有时候想要实现的操作在numpy里面没有,需要我们自己用C语言来编写。总之,我们使用Python与C++的混合编程能够加快程序热点的运算速度。首先要提醒大家注意的是,在考虑联
系统 2019-09-27 17:50:46 2009
在了解装饰器的之前一定要先了解函数作为参数传递,什么是函数内嵌,请参考我之前写的博客函数简介因为在python里面,函数也是对象,也可以作为参数进行传递.python装饰器本质也是一种特殊函数,它接收的参数是函数对象,然后动态地函数参数添加额外的功能,而不用修改原有的函数对象.python装饰器传入的参数是函数,返回的值也是函数!python装饰器思想有点类似设计模式的装饰模式,其意图是动态地给函数对象添加额外的功能.比如像增加日志打印的功能,有点面向切面
系统 2019-09-27 17:50:12 2009
python程序运行中,可由程序抛出异常。异常触发:使用raise命令抛出异常,即可使用异常基类Exception,也可使用自定义异常类(继承Exception类)。classPoint:def__init__(self,x,y):self.x=xself.y=y#DefineaclasstoraiseLineerrorsclassLineError(Exception):#继承自基类Exceptiondef__init__(self,ErrorInfo)
系统 2019-09-27 17:50:11 2009