搜索到与相关的文章
Python

Python爬虫初体验(3):线程锁,线程同步与异常问题的解决

前情提要:Python爬虫初体验(2):多线程的应用及爬取中的实际问题从来没想过,写一个功能较为完备的爬虫代码,要花好几天的时间……这次算是增长了许多编程经验。好的废话不多说,进入正题上次的代码中,由于部分XKCD漫画有特殊格式(还有404彩蛋),而我的代码中try-except结构只处理了连接超时的问题,没有对漫画本身的格式变化进行处理,导致线程意外中断。虽然最后写了重试下载,但是它和上面的一样,有个致命问题:如果是漫画格式的问题,它会陷入无限死循环。所

系统 2019-09-27 17:53:24 2645

Python

小白的python爬虫,40代码教你爬取豆瓣小说

这篇文章写了很久了,一直没有发布;爬虫学的差不多了,觉得这篇文章对新手实践还是有些作用的。毕竟这也是我刚学爬虫的时候练习的,爬取了比较好爬的网站,也比较经典;多余的解释不说了,代码里每一行都有注释,解释的很清楚;后续有时间的话还会发布一些爬虫文章的;=============================================直接上代码:importrequestsfrombs4importBeautifulSoupfromlxmlimport

系统 2019-09-27 17:52:31 2645

Python

Python字典对象实现原理详解

字典类型是Python中最常用的数据类型之一,它是一个键值对的集合,字典通过键来索引,关联到相对的值,理论上它的查询复杂度是O(1):>>>d={'a':1,'b':2}>>>d['c']=3>>>d{'a':1,'b':2,'c':3}在字符串的实现原理文章中,曾经出现过字典对象用于intern操作,那么字典的内部结构是怎样的呢?PyDictObject对象就是dict的内部实现。哈希表(HASHTABLES)哈希表(也叫散列表),根据关键值对(Key-

系统 2019-09-27 17:52:17 2645

Python

Python中字符串string模块

一、string模块常用函数ascii_letters获取所有ascii码中字母字符的字符串(包含大写和小写)ascii_uppercase获取所有ascii码中的大写英文字母ascii_lowercase获取所有ascii码中的小写英文字母digits获取所有的10进制数字字符octdigits获取所有的8进制数字字符hexdigits获取所有16进制的数字字符printable获取所有可以打印的字符whitespace获取所有空白字符punctuati

系统 2019-09-27 17:51:11 2645

Python

简单的Python的curses库使用教程

curses库(ncurses)提供了控制字符屏幕的独立于终端的方法。curses是大多数类似于UNIX的系统(包括Linux)的标准部分,而且它已经移植到Windows和其它系统。curses程序将在纯文本系统上、xterm和其它窗口化控制台会话中运行,这使这些应用程序具有良好的可移植性。介绍cursesPython的标准curses提供了“玻璃电传”(glassteletype)(在20世纪70年代,原始curses库刚创建时,它叫做CRT)的公共特性

系统 2019-09-27 17:50:15 2645

Python

Python 实现还原已撤回的微信消息

导包效果展示以下截图显示的撤回消息类型依次是文字消息、微信自带表情、图片、语音、定位地图、名片、公众号文章、音乐、视频。有群里撤回的,也有个人号撤回的。图文来源:http://kks.me/aULmF图文来源:http://kks.me/aULmF程序思路主要由两部分组成:handler_receive_msg():处理接收到的消息,将消息临时放在字典中。send_msg_helper():将撤回的消息自动发给文件传输助手。程序分析首先,我们定义一个字典来

系统 2019-09-27 17:48:55 2645

编程技术

Mac版MPlayerX播放器使用心得

转载自:http://www.qqread.com/app-soft/z493108.htmlMPlayer作为Mac用户心目中最好用的多媒体播放工具之一,一直都广受好评,是Mac视频播放必备软件。无奈,后来因为种种原因,开发团队停止了MPlayer的更新和维护。最近,另外一个开发团队在MPlayer的基础上,新编译了一款基于MPlayer的多媒体播放软件-MPlayerX。功能上,MPlayerX比MPlayer更加强大;界面上,MPlayerX与Qui

系统 2019-08-29 23:50:48 2645

编程技术

使用 EasyMock 更轻松地进行测试

测试驱动开发是软件开发的重要部分。如果代码不进行测试,就是不可靠的。所有代码都必须测试,而且理想情况下应该在编写代码之前编写测试。但是,有些东西容易测试,有些东西不容易。如果要编写一个代表货币值的简单的类,那么很容易测试把$1.23和$2.8相加是否能够得出$4.03,而不是$3.03或$4.029999998。测试是否不会出现$7.465这样的货币值也不太困难。但是,如何测试把$7.50转换为€5.88的方法呢(尤其是在通过连接数据库查询随时变动的汇率信

系统 2019-08-29 23:05:23 2645

编程技术

How to create static library

原文地址:http://www.amateurinmotion.com/articles/2009/02/08/creating-a-static-library-for-iphone.htmlAppleiPhoneDeveloperagreementforbidsusingFrameworksiniPhoneapplications.ThemainreasonsAppledoesnotallowusingthemisperformanceconsider

系统 2019-08-29 22:58:53 2645

Java

Java多线程编程总结--并发协作-死锁

原文:http://lavasoft.blog.51cto.com/62575/27069/作者:熔岩原创作品,允许转载,转载时请务必以超链接形式标明文章原始出处、作者信息和本声明。否则将追究法律责任。http://lavasoft.blog.51cto.com/62575/27069Java线程:并发协作-死锁线程发生死锁可能性很小,即使看似可能发生死锁的代码,在运行时发生死锁的可能性也是小之又小。发生死锁的原因一般是两个对象的锁相互等待造成的。在《Ja

系统 2019-08-29 22:37:30 2645