半次元COS图爬取-写在前面今天在浏览网站的时候,忽然一个莫名的链接指引着我跳转到了半次元网站https://bcy.net/打开之后,发现也没有什么有意思的内容,职业的敏感让我瞬间联想到了cosplay,这种网站必然会有这个的存在啊,于是乎,我准备好我的大爬虫了。把上面的链接打开之后,被我发现了吧,就知道我的第八感不错滴。接下来就是找入口,一定要找到图片链接的入口才可以做下面的操作这个页面不断往下拖拽,页面会一直加载,当时当你拖拽一会,就停下来了,就是这
系统 2019-09-27 17:56:54 1875
封装面向对象三大特性:继承封装多态隐藏对象的属性和实现细节,仅对外提供公共访问方法广义上的封装:把方法和变量都封装在类中狭义上的封装:在类的外部干脆不能调用了优点将变化隔离便于使用提高复用性提高安全性封装原则:将不需要对外提供的内容隐藏起来把属性都隐藏,提供公共方法对齐访问私有变量和私有方法在python中用双下划线开头的方式将属性隐藏起来(设置成私有的)代码实例#其实这仅仅这是一种变形操作#类中所有双下划线开头的名称如__x都会自动变形成:_类名__x的
系统 2019-09-27 17:56:45 1875
昨天在上厕所的时候突发奇想,当你把usb插进去的时候,能不能自动执行usb上的程序。查了一下,发现只有windows上可以,具体的大家也可以搜索(搜索关键词usbautorun)到。但是,如果我想,比如,当一个usb插入时,在后台自动把usb里的重要文件神不知鬼不觉地拷贝到本地或者上传到某个服务器,就需要特殊的软件辅助。于是我心想,能不能用python写一个程序,让它在后台运行。每当有u盘插入的时候,就自动拷贝其中重要文件。如何判断U盘的插入与否?首先我们
系统 2019-09-27 17:56:35 1875
本文实例讲述了python对字典进行排序的方法,是非常实用的技巧。分享给大家供大家参考。具体实现方法如下:importitertoolsthekeys=['b','a','c']thevalues=['bbb','aaa','cccc']d=dict(itertools.izip(thekeys,thevalues))#创建字典printddefsortedDictValue(adict):keys=adict.keys()keys.sort()retur
系统 2019-09-27 17:56:31 1875
1.说一说Redis是什么Redis是一种「Key-Value」的内存型、非关系型数据库,属于NoSQL的一种。Redis的读写速度特别快,特别适合读写频繁的场景。Redis支持主从复制,支持数据持久化。2.知道Redis有哪些常用数据类型吗StringListHashSetZset3.说一下Redis用来做什么利用String,可以很容易实现「计数器」功能。利用List,可以实现「粉丝列表」功能。利用Hash,可以实现「浏览记录」功能。利用Set的并集、
系统 2019-09-27 17:55:50 1875
译序如果说优雅也有缺点的话,那就是你需要艰巨的工作才能得到它,需要良好的教育才能欣赏它。——EdsgerWybeDijkstra在Python社区文化的浇灌下,演化出了一种独特的代码风格,去指导如何正确地使用Python,这就是常说的pythonic。一般说地道(idiomatic)的python代码,就是指这份代码很pythonic。Python的语法和标准库设计,处处契合着pythonic的思想。而且Python社区十分注重编码风格一的一致性,他们极力
系统 2019-09-27 17:55:36 1875
锁在使用用的过程中需要导入threading模块的Lock类使用锁:当多个线程几乎同时修改某一个共享数据的时候,需要进行同步控制线程同步能够保证多个线程安全访问竞争资源,最简单的同步机制是引入互斥锁。互斥锁为资源引入一个状态:锁定/非锁定。锁的语法创建锁、锁定锁、释放锁fromthreadingimportLock#创建锁mutex=Lock()#获取锁(上锁)mutex.acquire()#释放锁(解锁)mutex.release()在锁定锁的过程中ac
系统 2019-09-27 17:55:04 1875
引言:在阅读源码时,有很多简写的形式,其中一个比较常用的就是getattr()用来调用一个类中的变量或者方法,相关联的hasattr()、getattr()、setattr()函数的使用也一并学习了一下。正文:1.hasattr(object,name)判断object对象中是否存在name属性,当然对于python的对象而言,属性包含变量和方法;有则返回True,没有则返回False;需要注意的是name参数是string类型,所以不管是要判断变量还是方
系统 2019-09-27 17:54:58 1875
通过将对象序列化可以将其存储在变量或者文件中,可以保存当时对象的状态,实现其生命周期的延长。并且需要时可以再次将这个对象读取出来。Python中有几个常用模块可实现这一功能。pickle模块存储在变量中dumps(obj)返回存入的字节dic={'age':23,'job':'student'}byte_data=pickle.dumps(dic)#out->b'\x80\x03}q\x00(X\x03\x00\x00\...'print(byte_dat
系统 2019-09-27 17:54:49 1875
1、元素的分类需求:有如下集合[11,22,33,44,55,66,77,88,99,90……],将所有大于66的值保存在字典的第一个key中,将小于66的值保存在第二个key的值中代码实现:1#定义一个list列表2li=[11,22,33,44,55,66,77,88,99,90]3#定义空字典4dic={"k1":[],"k2":[]}5foriinli:6ifi<=66:7dic['k1'].append(i)8else:9dic['k2'].ap
系统 2019-09-27 17:54:43 1875