python有一个用于解析feed的模块:feedparser,feedparser解析各种feed是非常方便的,唯一比较恼火的是遇到一些badurl,经常会导致堵塞,因此需要为feedparser设置一个超时时间。可是feedparser并没有提供这个功能,只好采用其他方法了,具体办法请参看feedparser项目的issue221。其实也很简单,按照上面文档的说明developershavehadtheabilitytosetaglobaltimeou
系统 2019-09-27 17:56:01 2159
目录python单例模式1、什么是单例模式2、__new__方法实现3、装饰器实现4、模块实现5、共享属性实现6、元类实现python单例模式1、什么是单例模式单例模式(SingletonPattern)是一种常用的软件设计模式,该模式的主要目的是确保某一个类只有一个实例存在。当你希望在整个系统中,某个类只能出现一个实例时,单例对象就能派上用场。比如,某个服务器程序的配置信息存放在一个文件中,客户端通过一个AppConfig的类来读取配置文件的信息。如果在
系统 2019-09-27 17:55:32 2159
先介绍下什么是协程:协程,又称微线程,纤程,英文名Coroutine。协程的作用,是在执行函数A时,可以随时中断,去执行函数B,然后中断继续执行函数A(可以自由切换)。但这一过程并不是函数调用(没有调用语句),这一整个过程看似像多线程,然而协程只有一个线程执行。是不是有点没看懂,没事,我们下面会解释。要理解协程是什么,首先需要理解yield,这里简单介绍下,yield可以理解为生成器,yielditem这行代码会产出一个值,提供给next(...)的调用方
系统 2019-09-27 17:54:50 2159
在进行python数据分析的时候,首先要进行数据预处理。有时候不得不处理一些非数值类别的数据,嗯,今天要说的就是面对这些数据该如何处理。目前了解到的大概有三种方法:1,通过LabelEncoder来进行快速的转换;2,通过mapping方式,将类别映射为数值。不过这种方法适用范围有限;3,通过get_dummies方法来转换。importpandasaspdfromioimportStringIOcsv_data='''A,B,C,D1,2,3,45,6,
系统 2019-09-27 17:54:40 2159
一、写在前面我写爬虫已经写了一段时间了,对于那些使用GET请求或者POST请求的网页,爬取的时候都还算得心应手。不过最近遇到了一个有趣的网站,虽然爬取的难度不大,不过因为表单提交的存在,所以一开始还是有点摸不着头脑。至于最后怎么解决的,请慢慢往下看。二、页面分析这次爬取的网站是:https://www.ctic.org/crm?tdsourcetag=s_pctim_aiomsg,该网站提供了美国的一些农田管理的数据。要查看具体的数据,需要选择年份、单位、
系统 2019-09-27 17:53:08 2159
做开发中难免时间类型之间的转换,最近就发现前端js和后端django经常要用到这个转换,其中jsDate.now()精确到毫秒,而Python中Datetime.datetime.now()是精确到微秒的。1.字符串日期时间转换成时间戳#'2015-08-2816:43:37.283'-->1440751417.283#或者'2015-08-2816:43:37'-->1440751417.0defstring2timestamp(strValue):tr
系统 2019-09-27 17:53:01 2159
手写代码实现基于信息熵划分的决策树算法文章目录手写代码实现基于信息熵划分的决策树算法1.简介2.算法实现思路3.代码如下参考1.简介阅读本文需要以下背景知识:-掌握周志华《西瓜书》第四章决策树原理-Python3.0基础语法及数据类型及操作不了解决策树请点击下面链接西瓜书第四章决策树学习笔记本文是基于信息熵准则进行划分选择的决策树算法的手写实现,不使用现有的机器学习包。算法流程见《西瓜书》第四章第一节。数据集使用西瓜数据集3.0(数据集在代码中不需要另外下
系统 2019-09-27 17:53:01 2159
守护进程主进程创建子进程目的是:主进程有一个任务需要并发执行,那开启子进程帮我并发执行任务主进程创建子进程,然后将该进程设置成守护自己的进程关于守护进程需要强调两点:其一:守护进程会在主进程代码执行结束后就终止其二:守护进程内无法再开启子进程,否则抛出异常:AssertionError:daemonicprocessesarenotallowedtohavechildren如果我们有两个任务需要并发执行,那么开一个主进程和一个子进程分别去执行就ok了,如果
系统 2019-09-27 17:52:46 2159
简单定义图轴:importnumpyasnpimportmatplotlib.pyplotasplt创建一个简单的matplotlib实例:fig=plt.figure()rect=fig.patch#arectangleinstancerect.set_facecolor('lightgoldenrodyellow')ax1=fig.add_axes([0.1,0.3,0.4,0.4])rect=ax1.patchrect.set_facecolor('
系统 2019-09-27 17:52:41 2159
上集回顾上一节我们学了一些数字的数学运算,了解了运算优先级PMDAS。变量和命名程序输入和运行结果没问题,不过一开始运行的时候产生了出错消息:这条消息的意思是在第5行的“cars_not_driven=cars-drivers"语句中,变量drivers没有被定义。回到程序中查看,确实是赋值变量drivers的语句中错误拼写了该单词,从而只有drives的变量,而没有我们预期的drivers的变量,用起来自然会产生报错。巩固练习1、使用浮点数作为space
系统 2019-09-27 17:52:36 2159