一直想做个能帮我过滤出优质文章和博客的平台给它取了个名叫Moven。。把实现它的过程分成了三个阶段:1.Downloader:对于指定的url的下载并把获得的内容传递给Analyser--这是最简单的开始2.Analyser:对于接受到的内容,用RegularExpression或是XPath或是BeautifulSoup/lxml进行过滤和简化--这部分也不是太难3.SmartCrawler:去抓取优质文章的链接--这部分是最难的:Crawler的话可以
系统 2019-09-27 17:38:09 2197
活在当下的程序员应该都听过“面向对象编程”一词,也经常有人问能不能用一句话解释下什么是“面向对象编程”,我们先来看看比较正式的说法。把一组数据结构和处理它们的方法组成对象(object),把相同行为的对象归纳为类(class),通过类的封装(encapsulation)隐藏内部细节,通过继承(inheritance)实现类的特化(specialization)和泛化(generalization),通过多态(polymorphism)实现基于对象类型的动态
系统 2019-09-27 17:37:56 2197
1、局部变量foriinrange(5):printi,printi,运行结果:012344i是for语句里面的局部变量。但在python里面,在同一方法体内,定义了一个局部变量,该变量的作用域是定义行开始至该方法体结束。在其他编程语言,“printi”那一句是有误的,因为i没有定义例1:deffunc():a=100ifa>50:b=Trueprintbif__name__=='__main__':func()结果:True例2:deffunc():a=
系统 2019-09-27 17:37:35 2197
使用树莓派的摄像头,将树莓派自身提供的picamera的API数据转换为PythonOencv可用图像数据:#importthenecessarypackagesfrompicamera.arrayimportPiRGBArrayfrompicameraimportPiCameraimporttimeimportcv2#initializethecameraandgrabareferencetotherawcameracapturecamera=PiCam
系统 2019-09-27 17:57:04 2196
最近想找几本电子书看看,就翻啊翻,然后呢,找到了一个叫做周读的网站,网站特别好,简单清爽,书籍很多,而且打开都是百度网盘可以直接下载,更新速度也还可以,于是乎,我给爬了。本篇文章学习即可,这么好的分享网站,尽量不要去爬,影响人家访问速度就不好了http://www.ireadweek.com/,想要数据的,可以在我博客下面评论,我发给你,QQ,邮箱,啥的都可以。这个网站页面逻辑特别简单,我翻了翻书籍详情页面,就是下面这个样子的,我们只需要循环生成这些页面的
系统 2019-09-27 17:56:54 2196
1、json.dumps:是将dict转成str2、json.dump:是将python数据保存成json3、json.load:是将文件中的json数据读取出来,转换成python数据类型
系统 2019-09-27 17:56:12 2196
#版本python==3.7.3selenium==4.0.0a1#seleniumpypi地址https://pypi.org/project/selenium/在目录前提示一下,有时候我们在获取了一组元素,然后进行循环时,会报错'陈旧的元素.....',为了避免这个错误,建议在需要处理一组元素时,我们先算出元素的数量,然后通过range(element_counter),来通过索引值再次搜索需要处理的元素.目录:一、初始化二、元素查找三、select标
系统 2019-09-27 17:56:10 2196
文章目录1.函数的执行流程1.1.字节码了解压栈过程1.2.嵌套函数的压栈2.递归2.1.递归函数2.2.递归的性能2.3.递归的优化2.4.间接递归2.5.递归总结3.匿名函数4.Python生成器4.1.基本结构4.2.使用场景4.3.协程coroutine4.4.yieldfrom1.函数的执行流程函数的执行需要对函数进行压栈,什么是压栈呢,简而言之就是在函数执行时在栈中创建栈帧存放需要的变量以及指针的意思。具体涉及的知识非常多,这里就以一个Pyth
系统 2019-09-27 17:54:56 2196
python中random的常用方法总结一、random常用模块1.random.random()随机生成一个小数print(random.random())#输出0.60605621179967842.random.randint(m,n)随机生成一个m到n的整数(包括n)print(random.randint(1,5))#输出53.random.randrange(m,n)随机生成m到n中的一个数,包括m但是不包括nprint(random.rand
系统 2019-09-27 17:54:35 2196
之前我在windows10系统上面安装python3.7,虽然在windows上面安装简单,操作也方便,但是想要和linux的shell脚本交互就不方便了。因此,我决定在centos7上面也安装上python最新版本在这期间,我踩了很多坑,也填了很多坑,后来几乎要面临崩溃了,期间发生了什么?别着急,耐心往下看!操作环境:CentOS7.464位一般安装步骤1.下载python安装包wgethttps://www.python.org/ftp/python/
系统 2019-09-27 17:53:50 2196
基于TCP协议的套接字编程实现电话沟通为例,这里传递的是字符,可以自己尝试去发送一个文件#服务端importsocket#1.符合TCP协议的手机server=socket.socket(socket.AF_INET,socket.SOCK_STREAM)#TCP#2.绑定手机号一个服务器,我们自己的电脑作为服务器的话,用自己的IP地址server.bind(('127.0.0.1',8000))#127.0.0.1代表本地#server.bind(('1
系统 2019-09-27 17:53:04 2196
Python爬虫之selenium高级功能原文地址表单操作元素拖拽页面切换弹窗处理表单操作表单里面会有文本框、密码框、下拉框、登陆框等。这些涉及与页面的交互,比如输入、删除、点击等。前提是找到页面中的元素。例如下面有一个表单输入框:"text"name="passwd"id="passwd-id"/>获取这个元素的方法:element=driver.find_element_by_id("passwd-id")element=driver.find_ele
系统 2019-09-27 17:53:02 2196
前言栈、队列和优先级队列都是非常基础的数据结构。Python作为一种“编码高效”的语言,对这些基础的数据结构都有比较好的实现。在业务需求开发过程中,不应该重复造轮子,今天就来看看些数据结构都有哪些实现。0x00栈(Stack)栈是一种LIFO(后进先出)的数据结构,有入栈(push)、出栈(pop)两种操作,且只能操作栈顶元素。在Python中有多种可以实现栈的数据结构。1、listlist是Python内置的列表数据结构,它支持栈的特性,有入栈和出栈操作
系统 2019-09-27 17:52:46 2196
目前,Python科学栈中的所有主要项目都同时支持Python3.x和Python2.7,不过,这种情况很快即将结束。去年11月,Numpy团队的一份声明引发了数据科学社区的关注:这一科学计算库即将放弃对于Python2.7的支持,全面转向Python3。Numpy并不是唯一宣称即将放弃Python旧版本支持的工具,pandas与Jupyternotebook等很多产品也在即将放弃支持的名单之中。对于数据科学开发者而言,如何将已有项目从Python2转向P
系统 2019-09-27 17:52:25 2196
原理在网页源码中如果出现将用户输入数据进行反序列化当成参数输出时,出现漏洞,可造成任意命令执行例如网页源码try:become=self.get_argument('become')p=pickle.loads(urllib.unquote(become))returnself.render('form.html',res=p,member=1)except:returnself.render('form.html',res='ThisisBlackTec
系统 2019-09-27 17:51:41 2196