实例如下:#-*-coding:utf-8-*-fromnumpyimport*importnumpyasnpimportpandasaspdfrommathimportlogimportoperator#计算数据集的香农熵defcalcShannonEnt(dataSet):numEntries=len(dataSet)labelCounts={}#给所有可能分类创建字典forfeatVecindataSet:currentLabel=featVec[-
系统 2019-09-27 17:54:47 1903
今天闲来无聊无意间看到了百度股票,就想着用python爬一下数据,于是就找到了东方财经网,结合这两个网站,写了一个小爬虫,数据保存在文件中,比较简单的示例,就当做用来练习正则表达式和BeautifulSoupl了。首先页面分析,打开东方财经网股票列表页,和百度股票详情页,右键查看网页源代码,网址后面的代码就是股票代码,所以打算先获取股票代码,然后获取详情,废话少说,直接上代码吧:importreimportrequestsfrombs4importBeau
系统 2019-09-27 17:54:39 1903
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 1903
【摘要】在前一章中,我们已经成功尝试分析Ajax来抓取相关数据,但是并不是所有页面都可以通过分析Ajax来完成抓取。比如,淘宝,它的整个页面数据确实也是通过Ajax获取的,但是这些Ajax接口参数比较复杂,可能会包含加密密钥等,所以如果想自己构造Ajax参数,还是比较困难的。对于这种页面,最方便快捷的抓取方法就是通过Selenium。本节中,我们就用Selenium来模拟浏览器操作,抓取淘宝的商品信息,并将结果保存到MongoDB。1.本节目标本节中,我们
系统 2019-09-27 17:54:29 1903
戳这里~小结Python的函数具有非常灵活的参数形态,既可以实现简单的调用,又可以传入非常复杂的参数。默认参数一定要用不可变对象,如果是可变对象,程序运行时会有逻辑错误!要注意定义可变参数和关键字参数的语法:*args是可变参数,args接收的是一个tuple;**kw是关键字参数,kw接收的是一个dict。以及调用函数时如何传入可变参数和关键字参数的语法:可变参数既可以直接传入:func(1,2,3),又可以先组装list或tuple,再通过*args传
系统 2019-09-27 17:54:27 1903
Matrix是Array的一个小的分支,包含于Array。所以matrix拥有array的所有特性。但在数组乘和矩阵乘时,两者各有不同,如果a和b是两个matrices,那么a*b,就是矩阵积如果a,b是数组的话,则a*b是数组的运算1.对数组的操作>>>importnumpyasnp>>>a=np.array([[1,2,3],[4,5,6],[7,8,9]])>>>aarray([[1,2,3],[4,5,6],[7,8,9]])>>>b=a.copy
系统 2019-09-27 17:54:15 1903
前言web是一个开放的平台,这也奠定了web从90年代初诞生直至今日将近30年来蓬勃的发展。然而,正所谓成也萧何败也萧何,开放的特性、搜索引擎以及简单易学的html、css技术使得web成为了互联网领域里最为流行和成熟的信息传播媒介;但如今作为商业化软件,web这个平台上的内容信息的版权却毫无保证,因为相比软件客户端而言,你的网页中的内容可以被很低成本、很低的技术门槛实现出的一些抓取程序获取到,这也就是这一系列文章将要探讨的话题――网络爬虫。有很多人认为w
系统 2019-09-27 17:54:02 1903
表数据超过百万级别时使用pandas读取数据速度过慢,如果仍然想用pandas读取,可以通过多进程提高效率。同时可以将常用数据保存为pkl文件,以便后续使用。@主要代码实现#按照表中的某字段将表划分为比较均匀的多个子集#本例中需要读取的表中包含了城市字段,#且涉及的城市包含了全国大部分城市,数据分布较为均匀,因此制作了一张省份城市配置表,将数据划分#读取省份-城市配置表,获取城市列表defget_division_list(db_connect,divis
系统 2019-09-27 17:53:46 1903
Python面向对象编程——多态、多态性、鸭子类型一、多态多态指的是一类事物有多种形态,比如动物有多种形态:人,狗,猪importabcclassAnimal(metaclass=abc.ABCMeta):#同一类事物:动物@abc.abstractmethoddeftalk(self):passclassPeople(Animal):#动物的形态之一:人deftalk(self):print('sayhello')classDog(Animal):#动物
系统 2019-09-27 17:53:42 1903
《lnmp一键安装包》中需要获取ip地址,有2种情况:如果服务器只有私网地址没有公网地址,这个时候获取的IP(即私网地址)不能用来判断服务器的位置,于是取其网关地址用来判断服务器在国内还是国外(脚本为了使国内用户快速下载,yum源自动设置成163,这个情况就需要获取网关地址);如果服务器有公网地址,这时获取的IP地址可用来直接判断服务器地理位置。获取服务器IP,如果有公网地址就取公网地址,没有公网地址就取私网网址下面是之前我用shell来获取本地IP脚本:
系统 2019-09-27 17:53:41 1903
最近遇到一个问题,是指定参数来运行某个特定的进程,这很类似Linux中一些命令的参数了,比如ls-a,为什么加上-a选项会响应。optparse模块实现的也是类似的功能,它是为脚本传递命令参数。使用此模块前,首先需要导入模块中的类OptionParser,然后创建它的一个实例(对象):复制代码代码如下:fromoptparseimportOptionParserparser=OptionParser()#这里也可以定义类的参数,后续有接着就可以添加选项了,
系统 2019-09-27 17:53:20 1903
OpenAIgym是强化学习最为流行的实验环境。某种程度上,其接口已经成为了标准。一方面,很多算法实现都是基于gym开发;另一方面,新的场景也会封装成gym接口。经过这样一层抽象,算法与实验环境充分解耦隔离,可以方便地自由组合。但gym是python的接口,如果想用C++实现强化学习算法,则无法直接与gym相接。一种方案是跨进程:一个进程运行python环境,另一个进程运行强化学习算法,与环境交互数据经过序列化和反序列化通过IPC进行通信。另一种是单进程方
系统 2019-09-27 17:53:18 1903
requests提供了一个叫做session类,来实现客户端和服务端的会话保持使用方法1.实例化一个session对象2.让session发送get或者post请求session=requests.session()session.get(url,headers)下面就用人人网来实战一下#coding=utf-8importrequestssession=requests.session()#登录的表单urlpost_url="http://www.ren
系统 2019-09-27 17:53:16 1903
案例:爬取使用搜狗根据指定词条搜索到的页面数据(例如爬取词条为‘周杰伦'的页面数据)importurllib.request#1.指定urlurl='https://www.sogou.com/web?query=周杰伦''''2.发起请求:使用urlopen函数对指定的url发起请求,该函数返回一个响应对象,urlopen代表打开url'''response=urllib.request.urlopen(url=url)#3.获取响应对象中的页面数据:r
系统 2019-09-27 17:53:11 1903
脚本之家已经给大家介绍过range和xrange的区别的基础知识,有兴趣的朋友可以参阅:python中xrange和range的区别python中range()与xrange()用法分析本次小编给大家带来的是深入理解range和xrange之间的区别。两种用法介绍如下:1.range([start],stop[,step])返回等差数列。构建等差数列,起点是start,终点是stop,但不包含stop,公差是step。start和step是可选项,没给出s
系统 2019-09-27 17:53:10 1903