使用Django做web开发的时候遇到了这样一个问题,我想创建一个分支线程定时爬去某网站的信息,首先我就想到了使用单例模式,但是Python的单例模式并不像java那样一个static就完事了,需要使用不同的机制来实现,在网上找了几篇博客弄明白大概怎么回事,在这里跟大家分享一下我的理解:首先,因为只有继承了object的类才能定义__new__方法,所以我们要创建一个类,并且让它继承于object,这样我们就可以对其__new__方法进行定义了。class
系统 2019-09-27 17:56:26 2381
描述:通常我们selenium元素的时间经常遇到只要跳转页面了,定位就总是找不到我要找的元素,这是因为的你定位指针driver没有指向第二个页面,所以无法定位。知道原因后哪怎么来切换定位窗口呢,很简历。通过下面语句可获取当前指定的窗口handlename,但是这里很多学者会觉得他获取的就是第二个页面的handlename,从页面显示可得知,其实错了,我也犯过这些的错。我们需要获取driver会话中的所有窗口的handlename,然后在列表中通过遍历切换想
系统 2019-09-27 17:52:57 2381
相信大家都想把自己完成的项目打包成EXE应用文件,然后就可以放在桌面随时都能运行了,下面来分享利用pytinstaller这个第三方库来打包程序,既简单又快捷,我也试过用其他的方式来打包Python文件,但是都没有pyinstaller这个好用和快捷首先我将详细的将整个操作过程写出来,你首先要安装pycharm,这个无脑的操作,就不必说了,(看完一定能学会)打开pycharm的终端terminal,然后pipinstallpyinstaller(任何库都可
系统 2019-09-27 17:52:30 2381
统计学习方法——朴素贝叶斯法原理1.朴素贝叶斯法的极大似然估计2.朴素贝叶斯极大似然学习及分类算法算法过程:2.Python实现defpriorProbability(labelList):#计算先验概率labelSet=set(labelList)#得到类别的值labelCountDict={}#利用一个字典来存储训练集中各个类别的实例数forlabelinlabelList:iflabelnotinlabelCountDict:labelCountDi
系统 2019-09-27 17:50:19 2381
一、读写txt文件1、打开txt文件file_handle=open('1.txt',mode='w')上述函数参数有(1.文件名,mode模式)mode模式有以下几种:#w只能操作写入r只能读取a向文件追加#w+可读可写r+可读可写a+可读可追加#wb+写入进制数据#w模式打开文件,如果而文件中有数据,再次写入内容,会把原来的覆盖掉2、向文件写入数据第一种写入方式:#2.1write写入#\n换行符file_handle.write('helloword
系统 2019-09-27 17:46:41 2381
我用的是python2.6。学习python写爬虫的时候,一般都会用到一个Demo-------这个Dmoe在学习的时候确实是非常好的例子,但是我们可能需要对它进行修改,这就会出现一些问题。再对demo进行修改的时候发现了一些编码问题下面就发出来做个记录。pythonUnicodeEncodeError:'ascii'codecan'tencodecharactersinposition23-26:ordinalnotinrange(128)这是一个编码错
系统 2019-08-29 21:58:24 2381
导语由于之前遇到过几次有关于参数类型的坑,以及经常容易把一些参数类型搞混淆,现在做一下有关参数类型的总结记录以及对之前踩坑经历的分析。参数类型首先我们列举一下有关于Python的参数类型,以及实际上的运用和原理。位置参数(必选参数)默认参数可变参数关键字参数位置参数(必选参数)首先是位置参数,同时也被称作必选参数,位置参数很好理解,只要记住这点:在函数定义时直接给定的此参数名称,调用时按照参数的位置顺序,依次赋予参数值。示例:defperson_info(
系统 2019-09-27 17:57:28 2380
使用python自动提交调查问卷创建问卷写python脚本跑程序查看结果创建问卷用问卷星创建一个调查问卷,填完数据提交然后用burpsuite抓取数据包:发现submitdata参数是URL编码一串字符,于是解码后发现固定的格式,就是题号和输入的数值。于是想到修改这些数字来提交不同的数据。然后用intruder传入五个不同变量不同的数值。但发送几个后便出现的需要验证码验证。猜测检测到ip短时间发送过多数据,于是做出了限制。写python脚本于是开始写pyt
系统 2019-09-27 17:56:57 2380
Python是我喜欢的语言,简洁、优美、易用。前两天,我很激昂地向朋友宣传Python的好处。“好吧,我承认Python不错,但它为什么叫Python呢?”“呃,似乎是一个电视剧的名字。”“那你说的Guido是美国人么?”“他从Google换到Dropbox工作,但他的名字像是荷兰人的。”“你确定你很熟悉Python吗?”所以为了雪耻,我花时间调查了Python的历史。我看到了Python中许多功能的来源和Python的设计理念,看到了一门编程语言的演化历
系统 2019-09-27 17:56:16 2380
前言前面的文章提到过,python使用多线程,会因为GIL的原因导致多线程的使用效率低下,甚至比单个线程的处理速度还慢。然而在python编程中,为了解决多线程之间上下文切换的开销,以及增加线程控制的灵活性,python引入了协程。本文我们就来说一说python协程的特点和使用方法。一、协程定义定义:协程(Coroutine),又称微线程。协程的作用,是在执行函数A时,可以随时中断,去执行函数B,然后中断继续执行函数A(可以自由切换)。但这一过程并不是函数
系统 2019-09-27 17:56:05 2380
目录:0引言1环境2需求分析3前置准备4抢红包流程回顾5代码梳理6后记0引言提到抢红包,就不得不提Xposed框架,它简直是个抢红包的神器,但使用Xposed框架有一个前提条件:手机需要root,对于苹果手机的话就需要越狱了。现在的手机想要root或越狱并不容易,同时这会对手机安全性带来一些风险,抢红包本身只是个娱乐活动,这样做就得不偿失了。为了自动抢红包,python能帮我们实现吗?答案是肯定的,本文就带大家一起探索下用Python如何实现自动抢红包。1
系统 2019-09-27 17:54:13 2380
前情提要:Python爬虫初体验(2):多线程的应用及爬取中的实际问题从来没想过,写一个功能较为完备的爬虫代码,要花好几天的时间……这次算是增长了许多编程经验。好的废话不多说,进入正题上次的代码中,由于部分XKCD漫画有特殊格式(还有404彩蛋),而我的代码中try-except结构只处理了连接超时的问题,没有对漫画本身的格式变化进行处理,导致线程意外中断。虽然最后写了重试下载,但是它和上面的一样,有个致命问题:如果是漫画格式的问题,它会陷入无限死循环。所
系统 2019-09-27 17:53:24 2380
全局阈值处理方法前提:当物体和背景像素的灰度分布十分明显时,可以用适用于整个图像的单个(全局)阈值。即可使用全局阈值处理。算法思路:(1)输入原图,转化为灰度图;(2)对于灰度图,为全局阈值T0选择一个初始估计值(本人选择为0~255中值127);(3)迭代(4)(5)(6)(7)步骤,迭代次数可自行选择;(4)用T0分割灰度图,将其分为两组像素,G1由灰度值大于T0的所有像素组成,G2由所有小于T的所有像素组成;(5)对G1和G2的像素分别计算平均灰度值
系统 2019-09-27 17:52:14 2380
测试环境:windowsServer2003R2一、开始菜单启动项实现用户必须登录才可执行。测试脚本(python代码):复制代码代码如下:importtimefout=open('e:\\1.txt','w')whileTrue:tmp='%d-%02d-%02d%02d:%02d:%02d\r\n'%time.localtime()[0:6]printtmpfout.write(tmp)fout.flush()time.sleep(5)1、常规操作1.
系统 2019-09-27 17:51:46 2380
为什么做这个和同学聊天,他想爬取一个网站的post请求观察该网站的post请求参数有两种类型:(1)参数体放在了query中,即url拼接参数(2)body中要加入一个空的json对象,关于为什么要加入空的json对象,猜测原因为反爬虫。既有query参数又有空对象体的body参数是一件脑洞很大的事情。一开始先在apizza网站上了做了相关实验才发现上面这个规律的,并发现该网站的请求参数要为raw形式,要是直接写代码找规律不是一件容易的事情。源码impor
系统 2019-09-27 17:51:26 2380