
python
文章平均质量分 73
zy_dream
这个作者很懒,什么都没留下…
展开
-
itchat--玩转微信
这次从使用 itchat 玩转微信,算是真的体会到了所谓的:“同行看门道,外行凑热闹”。http://itchat.readthedocs.io/zh/latest/ 这是 itchat 的文档,感兴趣的童鞋下去可以看看。原理大致来说就类似于网页登录微信,对数据进行爬取,然后做你想做。所以我这次完成的试验有:自动回复、传递讯息、定时发送。1.自动回复import itchat原创 2017-08-17 09:54:44 · 5959 阅读 · 3 评论 -
上传问题之AttributeError: '_socketobject' object has no attribute 'set_tlsext_host_name'
这两天一直在解决的问题:上传图片之后,获取图片的 url 且已经进入项目框架里面了,但是还是传输那一块有问题解决的方向是 pyopenssl 库,就看到说是这个库里面的啥啥的缺失,在网上找了五花八门:卸载了 pyopenssl,再重新安装;更到 pyopenssl 最新版本等等。结果因为卸载 pyopenssl 出现 bug 然后去交流群里面请教,在这过程中我惊奇的发现了其实是 r原创 2017-05-20 11:58:31 · 3072 阅读 · 0 评论 -
Python的行为设计模式之责任链模式
这章来讲行为设计模式,关注做事的过程,也就是算法及对象间的交互。首先来看的是责任链模式。 “责任链模式”,可将请求的发送方与处理请求的接收方解耦。解耦这个词厉害了:两个或者两个以上的体系或两种运动形式间通过相互作用而彼此影响以至于联合起来的现象意思就是,在几个物体身上发生相似的事件,可以像流水线的形式走完。常规的方式就是一个基类,然后几个子类,用函数参数套函数的形原创 2017-05-09 09:32:52 · 544 阅读 · 0 评论 -
Python的结构型设计模式之组合模式
组合模式,可用来统合类体系中的两种对象:一种对象能够包含体系中的其他对象,另一种不能。前者叫“组合体”,后者叫“非组合体”白话来说,好几个东西,都是来自于同一个祖父,但是有些却结合了在一起,而结合在一起的它们,又可以用一个父亲来表示。这个父亲还能继续结合其他的小东西。今天这个例子确实是很确切了:大箱子盒子 铅笔盒 铅笔铅笔 橡皮 尺子第一种方法呢,就是:大箱原创 2017-04-20 09:29:31 · 1137 阅读 · 0 评论 -
Python的结构型设计模型之修饰器模式
一般来说,“修饰器”是个单参数的函数,其参也是函数。框架经常使用修饰器把用户所编写的函数集成进来。白话说就是在一个函数定义的前一行,写上修饰器,就代表此函数具有修饰器的功能。我现在用的最多的就是 flask 框架,有的函数其修饰器,可以设置成只有已登录用户进行操作。框架里面的路由视图多了,这样的一个修饰器起到了极大的作用。以下代码依次对修饰器进行举例:def float_args_原创 2017-04-21 14:10:33 · 422 阅读 · 0 评论 -
Python的结构型设计模式之代理模式
说代理模式之前,先把享元模式简单的说下。享元模式,基本就是我们程序开头常见的那些静态常量定义,还有字典的使用。而在类里面使用的话就是 __slots__ 这个关键字,能减少内存。总而言之享元模式就是要让你方便和高效的模式,可多多使用。那么代理模式,也可以说是一个能减少内存和使用空间的模式。从书上的例子给看,给我的印象就是,你可以先创建一个类,让这个类代理着创造些东西,当你真正需要哪一个东西原创 2017-04-26 14:07:13 · 375 阅读 · 0 评论 -
Python的行为设计模式之解释器模式的 eval
解释器模式,能够以规范的流程解决:向用户提供某种输入手段,使其可向应用程序中输入“非字符串值”,并允许用户给应用程序编程懂了没。就是你可以把输入的一些东西,当作一个程序来运行。比如你输入 sum(1+2+3+4),这时会明白说:哦你这是要求和啊,可以的,给你求:sum=10这里先来看 eval()。书上给的例子蛮有特点的,先看运行结果吧:Enter an experssion (C原创 2017-05-16 15:50:08 · 408 阅读 · 0 评论 -
Python的结构型设计模式之外观模式
书上说:如果某套接字因为太过于复杂或太专注于底层细节而变得不易使用,那么可考虑用“外观模式”将其简化并统合起来讲真的,后面的享元模式和代理模式还好点,这一个外观模式,我怎么看也就是那样:虽然这次没有类继承类,但A方法里面用B方法,在下面实现B方法。这里我个人总结的就是这么回事呐。此次的例子是设计一套简单而一致的接口来获知压缩文档里的各个文件名,并将其解压。概括起来就是,定义一个方法类用原创 2017-04-24 15:48:02 · 338 阅读 · 0 评论 -
scrapy关于登录和更多页面的演示
这次的任务是爬取 中华讲师网-中国最大讲师平台-找讲师-培训师-培训讲师首选网站 http://www.jiangshi.org/ 里面的红色框框里面的内容。需要解决的问题第一是,有些电话和QQ只有登录之后才能看到,因此需要模拟登录之后的爬取。感谢 Scrapy用Cookie实现模拟登录 - 简书 http://www.jianshu.com/p/887af1ab4200原创 2017-04-21 18:48:51 · 1152 阅读 · 0 评论 -
网易2017春招笔试真题编程题集合--Python
注:笔试题摘自牛客网,一共十二道编程题。以下包括题目描述,个人思路,正确结果1.一种双核CPU的两个核能够同时的处理任务,现在有n个已知数据量的任务需要交给CPU处理,假设已知CPU的每个核1秒可以处理1kb,每个核同时只能处理一项任务。n个任务可以按照任意顺序放入CPU进行处理,现在需要设计一个方案让CPU处理完这批任务所需的时间最少,求这个最小的时间。 输入描述:输入包原创 2017-06-19 17:22:57 · 8325 阅读 · 1 评论 -
2017年校招全国统一模拟笔试(第一场)编程题集合--Python
注:试题来源于牛客网1.牛牛有一个鱼缸。鱼缸里面已经有n条鱼,每条鱼的大小为fishSize[i] (1 ≤ i ≤ n,均为正整数),牛牛现在想把新捕捉的鱼放入鱼缸。鱼缸内存在着大鱼吃小鱼的定律。经过观察,牛牛发现一条鱼A的大小为另外一条鱼B大小的2倍到10倍(包括2倍大小和10倍大小),鱼A会吃掉鱼B。考虑到这个,牛牛要放入的鱼就需要保证:1、放进去的鱼是安全的,不会被其他鱼吃掉原创 2017-06-30 16:50:05 · 1594 阅读 · 0 评论 -
温故而知新,我觉得可以--Python番
当我还是一个孩子的时候,在我的世界里面想到的功能:获取所有视频的up并统计热门人选。觉得不错并且完成之。如今,我依旧还是一个孩子,只是脑容量变大了吧最近读书碰到了好多coolcool的库,回头看那时的代码,惨不忍睹啊def author_get(): all = VideoDoc.objects() authors = [] for a in all:原创 2017-08-02 10:40:05 · 545 阅读 · 0 评论 -
python统计数组元素出现次数以及排序
最后完成的我的世界阶段,加入了统计热门UP主的模块:统计所有视频的UP主出现最多的次数,获取前10的UP主。主要流程就是:将数据库所有的author获取放入数组,进行次数统计;对次数进行排序,当然对应的UP主也是需要跟着跑的,因此考虑到使用字典;获取前10名的UP主。过程中我得到帮助的有:Python统计列表中的重复项出现的次数的方法_python_脚本之家 http:/原创 2017-03-22 18:27:00 · 12793 阅读 · 0 评论 -
2017年校招全国统一模拟笔试(第四场)编程题集合--Python
注:试题来源于牛客网1.牛牛有n张卡片排成一个序列.每张卡片一面是黑色的,另一面是白色的。初始状态的时候有些卡片是黑色朝上,有些卡片是白色朝上。牛牛现在想要把一些卡片翻过来,得到一种交替排列的形式,即每对相邻卡片的颜色都是不一样的。牛牛想知道最少需要翻转多少张卡片可以变成交替排列的形式。 输入描述:输入包括一个字符串S,字符串长度length(3 ≤ length ≤ 50),原创 2017-08-08 11:36:04 · 1385 阅读 · 2 评论 -
2017年校招全国统一模拟笔试(第三场)编程题集合--Python
注:题目来源于牛客网1.牛牛想对一个数做若干次变换,直到这个数只剩下一位数字。变换的规则是:将这个数变成 所有位数上的数字的乘积。比如285经过一次变换后转化成2*8*5=80.问题是,要做多少次变换,使得这个数变成个位数。 输入描述:输入一个整数。小于等于2,000,000,000。输出描述:输出一个整数,表示变换次数。输入例子1:原创 2017-07-18 16:27:18 · 1183 阅读 · 0 评论 -
Python的列表排序
列表元素如果全是元组,元组中又有数字,那么 sorted 也可对其进行排序print log_to_arr()print sorted(log_to_arr())运行结果:[(72044, 'GET / HTTP/1.0'), (872302, 'GET /home HTTP/1.0'), (370689, 'GET /search?position_times=2 HTTP/1.0原创 2017-07-17 16:55:43 · 362 阅读 · 0 评论 -
百度2017春招笔试真题编程题集合--Python
注:笔试题摘自牛客网,一共五道编程题。以下包括题目描述,个人思路,正确结果1.度度熊想去商场买一顶帽子,商场里有N顶帽子,有些帽子的价格可能相同。度度熊想买一顶价格第三便宜的帽子,问第三便宜的帽子价格是多少? 输入描述:首先输入一个正整数N(N 输出描述:如果存在第三便宜的帽子,请输出这个价格是多少,否则输出-1输入例子:1010 10原创 2017-06-27 20:41:28 · 901 阅读 · 0 评论 -
2017年校招全国统一模拟笔试(第二场)编程题集合--Python
注:题目来源于牛客网,且第二场的题目表述没有那么规范。1.牛牛有两个字符串(可能包含空格),牛牛想找出其中最长的公共连续子串,希望你能帮助他,并输出其长度。 输入描述:输入为两行字符串(可能包含空格),长度均小于等于50.输出描述:输出为一个整数,表示最长公共连续子串的长度个人思路:我采用的是 [x:y] 不断获取字串的方式,以此来求最长。就纯遍原创 2017-07-05 15:18:52 · 1210 阅读 · 0 评论 -
Pycharm的Debug调试基础
1.分析问题可能出现的地方,并在合适的地方设置断点:比如这个我是觉得 answer 应该出问题,没有找到值或者为空。为了确定它在运行过程中的值,我在下面的 for 循环处设置一个断点。 2.启动 Debug 并运行小甲壳虫带你进行调试3.当运行到你所设置的断点的视图层时,自动弹出在断点之前,这个函数里面各种变量的值找到你所想要的变量名称,并点击查看内容。可以原创 2017-06-12 15:35:35 · 7039 阅读 · 0 评论 -
可点进来看看的一些Python基础
1.判断类型除了用 type(L) 推荐使用 isinstance(L, list)2.将 x 十进制数转换为十六进制,八进制,二进制hex(x) oct(x) bin(x)表示为字符串3.x in y,x not in y 成员对象测试x is y,x is not y 对象实体测试1 4.// 取整除 - 返回商的整数部分原创 2017-04-14 16:03:30 · 287 阅读 · 0 评论 -
Python的创建型设计模式之工厂设计模式
工厂,就是创造生产东西的地方。因此,工厂设计模式就是直接创造你所需要的类以供使用的时候直接拿来用即可。对比前两种设计模式,工厂设计模式,笔者认为能更好的对你所做的东西进行规划处理,条理能更清楚一点。这也是为什么此书把工厂设计模式作为重点的原因吧。书上的例子是用工厂设计模式来创建两个棋盘——国际象棋和国际跳棋。1.生产的是棋盘2.分类为象棋和跳棋3.对应的棋子创建以上原创 2017-04-05 16:00:17 · 578 阅读 · 0 评论 -
Python的结构型设计模式之桥接模式
用于将“抽象”(比如接口或算法)与实现方式相分离一般写法:若干基类每个基类: 子类A 子类B 子类C 用来表示对这种抽象方法的不同实现桥接模式:抽象体系 定义我们所要执行的操作实现体系 定义包含具体实现方式抽象体系调用实现体系以完成其操作。抽象体系中的类会把实现体系中的某个类实例聚合进来,而这个实例将充当抽象接口与具体实现原创 2017-04-12 21:57:47 · 314 阅读 · 0 评论 -
python学习笔记
昨天师哥让我下来改图片上传的问题,一是直接点击图片进行修改,而是怎么解决浏览器兼容性问题。上传用到了jquery的插件,如下: 具体关于这个插件的使用详见http://www.cnblogs.com/cart55free99/p/3823357.html。我觉得主要就是对id所指进行上传。然后对应的id进行上传功能即可我的解决方法原创 2016-11-15 22:58:02 · 385 阅读 · 0 评论 -
Python爬虫练习
今日爬虫练习,爬取的内容是我校的就业中心网中的内容。是一个基础的爬虫,很适合初学者学习。使用的是requests和BeautifulSoup。过程中遇到的问题是乱码问题和url不规则问题:看这个url获取到是无法直接打开这个链接的。代码如下:# -*- coding: utf-8 -*-import requestsimport refrom bs4 import原创 2016-12-06 21:55:32 · 843 阅读 · 0 评论 -
爬虫数据导成csv及存入数据库
有时对于爬虫得到的数据,需要对其进行整理,一是为了格式统一,二是用excel表格也可以打开。再就是把得到的数据放入数据库都是需要的。首先来看导成csv:我认为最重要的一点是,如何把文本数据取出来放入类似二维数组的字符串组来保存。关键就在于如何取。可以观察到这些数据以此的顺序,因此: with open('info.txt','r') as file:原创 2016-12-11 10:20:53 · 11874 阅读 · 0 评论 -
Python爬虫如何获取动态内容-下
上节我们是说了如何获取到动态的数据,那么现在就来说说如何获取到你想要的数据。目前我所遇到的有两种情况。第一种:这种的json形式我任务是比较正常的格式,一个{}里面有一个[],[]里面则是数据信息对于这种,可采用以下方式来获取数据,比如aid,author等信息d_hot = d_json['recommend']['list']这样一行代码就找到了json里两原创 2017-02-06 17:02:06 · 1782 阅读 · 0 评论 -
python的多线程
这学期有门课名为网络编程,最近都在讲的是多线程问题。今天的上机实验,老师说不仅仅是可以用python来完成,还可以用python等等。遂我就开始用python来搞线程以及要解决的问题。我这里得到的问题有:1.通过多线程来求π2.将归并排序或者快速排序,来改成用多线程来解决要解决问题,首先是多python多线程有了解,找到了这篇真·简单易懂的关于python多线程的教程python原创 2017-03-07 19:40:30 · 308 阅读 · 0 评论 -
多线程求π
之前说到过 python 的多线程求 π 问题,但当时并没有贴出代码来。因为确实是之前自己写的那个程序最后结果一直不对,明明逻辑语句都没问题了。但恰恰是我没有注意到一点,多线程的同步问题。那个求最后总数 N 的值,如果没有进行同步锁的话,那么实际情况将会导致 N 的数量变少。就是因为一个线程未完成另一个线程突然的完成或者一起完成,我是这样认为的,总之一定会导致表面上的 N 大于实际未同步相加的原创 2017-03-20 19:29:48 · 1922 阅读 · 0 评论 -
Python爬虫如何获取动态内容-上
首先这里说一下我标题动态内容指的就是一个网页,每天你去浏览它的时候有些内容是更新的,所以这些是在源代码里面没有的。例子为B站每天的轮播和静态推荐内容都是不断更新的。因此,如果想要爬取这些信息,一直用之前的爬取方式:requests.get(URL) ,是找不到这些的。用的是和get相呼应的:requests.post(URL) 。关键一,就是如何正确得到这些动态更新内容的URL:原创 2017-02-02 10:33:46 · 8345 阅读 · 4 评论 -
python两个列表合成字典顺序问题
今天师哥给指出了之前写的模块的某处修改,其实我当时也是发现知道那块问题是什么的,结果当时为了急于pull就暂时忽略了那问题。以后得注意同样的情况发生。今天要修改的主要问题当时在解决前已明确指出:1.推荐文章的第一个是图片显示2.如何显示2,3,4,5的hot标志,也就是class标签3.鼠标移动到title上会显示文章全标题1和3问题还是挺容易解决了。{% if c原创 2016-12-22 22:56:52 · 3976 阅读 · 0 评论 -
python的全局变量应用
昨天晚上把博客写完之后,不知道哪里灵光一闪,想到用全局变量解决登录之后用户保存,来发表博客。结果,还真可以了。global 用来强调跟在后面的小弟是全局变量,而小弟是一开始存在的,是要在函数里面用的时候用global来说明它是全局变量。zyuser=''@app.route('/',methods=['GET','POST'])def index(): form=loginF原创 2016-11-02 23:46:24 · 1249 阅读 · 0 评论 -
python爬虫改进
上周四去公司,师哥让我把写的爬虫程序给大家讲了一下,然后点评了之后给可建议,让我根据建议修改那个程序。需要修改的地方是以下几点1. 使用requests 代维 urlib22. 使用CVS导出3. 使用with4. 请求方法和解析方法分开5. 命名问题在听了师哥指导之后,我开始进行改进。昨天下午之前,修改后的程序已经执行成功。回首上面这几点,第二点是我花费了极大原创 2016-10-22 12:00:02 · 703 阅读 · 0 评论 -
Python的创建型设计模式之建造者模式
注:书上定义和展示代码均来自《Python编程实战》原创 2017-04-01 16:09:57 · 427 阅读 · 0 评论 -
Python的结构型设计模式之适配器模式
在学习完适配器模式之后,让我用一句话来总结之:就是把前一个类拿来用,用到你所希望它做的事。“适配器模式”是一种接口适配技术,可通过某个类来使用另一个接口与之不兼容的类,运用此模式时,两个类的接口都无须改动。今天看的例子是关于一个页面生成,以及对标题和段落进行渲染的 Page 类。首先是一个 Page 类。class Page: def __init__(self, title, ren原创 2017-04-09 21:13:30 · 378 阅读 · 0 评论 -
Python的创建型设计模式之原型模式与单例模式
原型模式,使用的情景:是想根据现有的对象复制出新的对象并对其修改。这里的举例,是以平面上的点为类,进行原型模式的演示class Point: def __init__(self, x, y): self.x = x self.y = ypoint1 = Point(1, 2)point2 = eval("{}({},{})".format("原创 2017-04-07 21:01:25 · 277 阅读 · 0 评论 -
Python的创建型设计模式之抽象工厂模式
注:书上定义和展示代码均来自《Python编程实战》抽象工厂模式,书上定义:用来创建复杂的对象,这种对象由许多小的对象组成,而这些小的对象都属于特定的“系列”。回头再读这段话,然后再回想敲过书上的这个实例。用简单话来概括就是,你现在要完成一个东西,这个东西里面有几部分(3部分吧),这3部分吧,你可以用红色完成,但你也可以用绿色完成,反正最后这个东西成型了,咦你一看,哦这里面是3部分原创 2017-03-29 14:26:57 · 529 阅读 · 0 评论 -
python字典与数据库的灵活使用
紧接上篇关于下拉框动态显示数据的功能,虽然这个功能是实现了,但是在接下来从数据库取数据和按条件查询的过程中,还是出现了bug。终于,在借助笨方法print和alert的测试下,终于找到了原因并解决。最主要的关键点就是{% for k,v in question_type.items() %} {% if cls == v %} value="{{ k }}"原创 2017-03-12 14:40:00 · 2021 阅读 · 0 评论 -
开启新纪元-python
今天起到公司兼职实习,公司的师哥用的是python,所以我们也就开启了python之路。我大一上学期是开了python,可是当初才起步,就学了些基础,后来就一直没用过。但是如今学习一门语言,入门基础确实很简单了,主要就看中期和后期咯。先来谈谈这几天,自己着手安装目前需要的工具包括pycharm并配置环境,今天是去公司师哥给讲解了Sourcetree和git的使用,然后推荐了简单的翻墙工具,给我原创 2016-10-13 22:38:21 · 602 阅读 · 0 评论 -
python文件
昨天对python的语法等基础进行了学习,今天来到了python的文件使用,大致就是基本的用法:open('XX','x')XX路径下的文件进行x操作;write()写入;read()读取;当然还有readline(),readlines()读取seek()文件指针的移动;copyfile('','')文件复制;remove()文件删除;以下就是一些基本的操作# -原创 2016-10-14 23:00:09 · 414 阅读 · 0 评论 -
python爬虫之获取豆瓣电影信息
此次是师哥给布置的任务,所以这几天就在研究如何完成获取https://movie.douban.com/top250这个网站里面250部电影的信息。主要就是应用了python的urllib2与beautifulsoup的结合使用,也是我第一次使用爬虫,当然现在看也是基础的使用,是体会到工具的强大还有就是借助 http://cuiqingcai.com/category/technique/原创 2016-10-18 22:09:22 · 5448 阅读 · 0 评论