说明:本文为博主原创文章,未经博主允许不得转载。如果代码有不懂的,欢迎与我探讨!邮箱:1103540209@qq.comgithub地址:https://github.com/wstchhwp文章目录1.Matplotlib基本概念2.Matplotlib三层结构容器层辅助显示层图像层总结3.plt的基本用法3.1Figure对象3.2plot的使用3.3如何在同一个figure内部设置多个图片3.4如何调整subplot的间距4.参考可视化是在整个数据挖
系统 2019-09-27 17:54:39 2224
上次完成的url爬取项目并不能满足需求,在此完成了一个更为强大的爬取代码,有需要的可以直接运行,根据自己爬取的网站更改部分正则和形参即可。前排提示:运行需要耐心,因为几千个url爬完的话,还是建议花生瓜子可乐电影准备好。下面是代码,代码有注释,很容易理解。注意:爬虫代码每过一段时间就需要更新,因为爬的东西在变,所以可能过一段时间就要更新爬虫。#-*-coding:utf-8-*-"""CreatedonWedSep2914:01:282018@author
系统 2019-09-27 17:52:48 2224
之前用了谷歌的selenium模块,为了练习一下所以写了这个(没错才不是别的理由!)代码里涉及到了各种复杂的情况,包括要找的div在别的iframe中的处理方式,顶部导航栏的定位方式等等。综合性很强下面是代码fromseleniumimportwebdriverimporttimefromfake_useragentimportUserAgentopt=webdriver.ChromeOptions()#opt.add_argument('--headle
系统 2019-09-27 17:52:24 2224
Python产生一个数值范围内的不重复的随机数,可以使用random模块中的random.sample函数,其用法如下:importrandomrandom.sample(population,k)函数从序列或集合population中返回一个长度为k的随机数列表,并且列表中的随机数元素之间是不重复的,如:>>>a=[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20]>>>a[1,2,3,4,5,6,7,
系统 2019-09-27 17:52:06 2224
numpy中的random模块有多个函数用于生成不同类型的随机数,常见的有uniform、rand、random、randint、random_interges下面介绍一下各自的用法1、np.random.uniform的用法np.random.uniform(low=0.0,high=1.0,size=None)作用:可以生成[low,high)中的随机数,可以是单个值,也可以是一维数组,也可以是多维数组参数介绍:low:float型,或者是数组类型的,
系统 2019-09-27 17:52:05 2224
今天我想讲一讲关于Elasticsearch的索引建立,当然提前是你已经安装部署好Elasticsearch。ok,先来介绍一下Elaticsearch,它是一款基于lucene的实时分布式搜索和分析引擎,是后台系统,用来存储数据,检索数据,属于完全命令行交互。那为什么选择python作为脚本进行命令的写入和数据的上传呢?那是因为Python里面有固定的模板,可以上传数据到Elasticsearch。接下来就聊一聊该如何编写代码:我们上传数据之后,数据到哪
系统 2019-09-27 17:51:02 2224
本文是一篇个人总结,win10下anaconda3+python3.7+pycharm2018.3.4环境配置。下次再配置就方便许多。注意:win10下配置python环境方法十分多,总体分两类:1.下载python和pycharm,然后将pycharm的环境解释器改为python.exe2.下载anaconda,anaconda会自带python,然后下载pycharm,将pycharm的环境解释器更改为anaconda路径的python.exe。(an
系统 2019-09-27 17:47:49 2224
定义使用内置的defaultdict我们可以很容易的定义一个树形数据结构deftree():returndefaultdict(tree)example:json风格users=tree()users['harold']['username']='bell'users['handler']['username']='master'我们可以使用print(json.dumps(users))以json的形式输出,于是我们看到{'harold':{'usern
系统 2019-09-27 17:47:35 2224
浏览器的简单操作#导入webdriver模块#创建driver对象,指定Chrome浏览器driver=webdriver.Chrome()#窗口最大化driver.maximize_window()#访问百度driver.get("http://baidu.com")driver.get("http://sina.com")#后退driver.back()#前进driver.forward()#刷新driver.refresh()#关闭窗口driver.
系统 2019-09-27 17:47:25 2224
一、死锁简单来说,死锁是一个资源被多次调用,而多次调用方都未能释放该资源就会造成死锁,这里结合例子说明下两种常见的死锁情况。1、迭代死锁该情况是一个线程“迭代”请求同一个资源,直接就会造成死锁:importthreadingimporttimeclassMyThread(threading.Thread):defrun(self):globalnumtime.sleep(1)ifmutex.acquire(1):num=num+1msg=self.name
系统 2019-09-27 17:46:39 2224