上一篇文章说到了用python把QQ空间的说说爬取下来,用python爬取QQ空间说说今天,我要用python把QQ空间所有的说说都删除掉。动机就不说了。整体的步骤跟爬取说说的步骤差不多。算了,不想写,直接上传代码吧。遇到了一个问题,删除一百多条说说后,腾讯就要验证码了,验证码识别太麻烦了,就不弄了。源文件:clear_qzone.py#coding=utf-8 #导入selenium2中的webdriver库 from selenium.webdriver.support.select import Select from selenium import webdriver from selenium.webdriver.common.keys import Keys from selenium.webdriver.common.action_chains import ActionChains from bs4 import BeautifulSoup from PIL import Image from PIL import ImageOps import tim

最近在学习python这门脚本语言,不得不说,python用来爬去网页数据简直不能太方便。学习一门编程语言,最好的方法就是在实践中学习。之前我一直想把我这些年来QQ空间里发布的说说爬下来分析一下,于是就有了这个项目。

此脚本是执行后台自动发布每日一图

译序如果说优雅也有缺点的话,那就是你需要艰巨的工作才能得到它,需要良好的教育才能欣赏它。—— Edsger Wybe Dijkstra

skynet轻量级服务端底层管理框架skynet是云风编写的服务端底层管理框架,底层由C编写,配套lua作为脚本使用,可换python等其他脚本语言。skynet主要工作是管理注册服务,并开启多线程协调服务之间的调用和通讯。skynet一般用于开发游戏服务端程序。【资源】skynet Githubskynet开发笔记skynet非官方网站skynet文档Lua5.3 参考手册

正则表达式基础1.1. 简单介绍正则表达式并不是Python的一部分。正则表达式是用于处理字符串的强大工具,拥有自己独特的语法以及一个独立的处理引擎,效率上可能不如str自带的方法,但功能十分强大。得益于这一点,在提供了正则表达式的语言里,正则表达式的语法都是一样的,区别只在于不同的编程语言实现支持的语法数量不同;但不用担心,不被支持的语法通常是不常用的部分。如果已经在其他语言里使用过正则表达式,只需要简单看一看就可以上手了。下图展示了使用正则表达式进行匹配的流程: 正则表达式的大致匹配过程是:依次拿出表达式和文本中的字符比较,如果每一个字符都能匹配,则匹配成功;一旦有匹配不成功的字符则匹配失败。如果表达式中有量词或边界,这个过程会稍微有一些不同,但也是很好理解的,看下图中的示例以及自己多使用几次就能明白。下图列出了Python支持的正则表达式元字符和语法: 1.2. 数量词的贪婪模式与非贪婪模式正则表达式通常用于在文本中查找匹配的字符串。Python里数量词默认是贪婪的(在少数语言里也可能是默认非贪婪),总是尝试匹配尽可能多的字符;非贪婪的则相反,总是尝试匹配尽可能少的字符。例如

简介前段时间有人发贴说用树莓派可以发射FM收音机信号, 于是便整来玩玩,发现效果还不错,于是想扩充一下功能。网上实现的FM发射功能是有局限性的:只能播放wav格式文件,并且wav文件必须是16 bit 22.5kHz Mono格式的。只支持播放本地音频文件,或者使用-从终端读取音频我设想的或已经实现的功能是这样的:支持mp3格式支持流媒体,或者说支持直接播放网络上的音乐可以添加音乐,方便管理可以批量添加歌曲可以播放局域网内电脑上的音乐自动根据歌名在线搜索歌曲并播放有一个web页面,允许任何人添加自己喜欢的歌曲web页面显示当前正在播放的歌曲和将要播放的歌曲列表当播放列表里面没有歌曲的时候自动随机播放一首歌曲,保证连续播放可以跳过正在播放的歌曲播放下一曲安装我做的系统之后你就可以用树莓派做服务器, 发送广播,播放流行歌曲或者英语听力(或者法律允许播放的东西) 告诉亲朋好友一个网址,然后他们就能在上面点歌。 四六级没过的朋友可以添加四六级听力,模拟真实考试环境。 或者放到敬老院里面,给老年人播放戏曲。 除此之外,只要程序运行着,你就能用收音机听到音乐, 不用天天费神去网上找歌了。 这样也为

工作中的一些积累采用倒序方式更新

算法一:快速排序算法  快速排序是由东尼·霍尔所发展的一种排序算法。在平均状况下,排序 n 个项目要Ο(n log n)次比较。在最坏状况下则需要Ο(n2)次比 较,但这种状况并不常见。事实上,快速排序通常明显比其他Ο(n log n) 算法更快,因为它的内部循环(inner loop)可以在大部分的架构 上很有效率地被实现出来。

去空格及特殊符号s.strip().lstrip().rstrip(',')复制字符串#strcpy(sStr1,sStr2) sStr1 = 'strcpy' sStr2 = sStr1 sStr1 = 'strcpy2' print sStr2

今天早上阿里云给我发短信,大致内容是【阿里云】尊敬的h**@126.com:云盾安骑士为您服务器进行基线检查时发现存在高危安全风险,建议您登录云盾-安骑士控制台,进行查看和处理,及时加固您的服务器,防止被黑客入侵。

Python操作redispython连接方式:点击  下面介绍详细使用

一、redis  redis是一个key-value存储系统。和Memcached类似,它支持存储的value类型相对更多,包括string(字符串)、list(链表)、set(集合)、zset(sorted set --有序集合)和hash(哈希类型)。这些数据类型都支持push/pop、add/remove及取交集并集和差集及更丰富的操作,而且这些操作都是原子性的。在此基础上,redis支持各种不同方式的排序。与memcached一样,为了保证效率,数据都是缓存在内存中。区别的是redis会周期性的把更新的数据写入磁盘或者把修改操作写入追加的记录文件,并且在此基础上实现了master-slave(主从)同步。

C风格的强制类型转换(Type Cast)很简单,不管什么类型的转换统统是:TYPE b = (TYPE)a,但是c 风格的类型转换有不少的缺点,有的时候用c风格的转换是不合适的,因为它可以在任意类型之间转换,比如你可以把一个指向const对象的指针转换成指向非 const对象的指针,把一个指向基类对象的指针转换成指向一个派生类对象的指针,这两种转换之间的差别是巨大的,但是传统的c语言风格的类型转换没有区 分这些。还有一个缺点就是,c风格的转换不容易查找,他由一个括号加上一个标识符组成,而这样的东西在c++程序里一大堆。所以c++为了克服这些缺点,引进了4种类型转换操作符(C++风格的强制转换其他的好处是,它们能更清晰的表明它们要干什么。程序员只要扫一眼这样的代码,就能立即知道一个强制转换的目的。):

String模块包含大量实用常量和类,以及一些过时的遗留功能,并还可用作字符串操作。

Python 这门语言最大的优点之一就是语法简洁,好的代码就像伪代码一样,干净、整洁、一目了然。但有时候我们写代码,特别是 Python 初学者,往往还是按照其它语言的思维习惯来写,那样的写法不仅运行速度慢,代码读起来也费尽,给人一种拖泥带水的感觉,过段时间连自己也读不懂。

通常在读写文件之前,需要判断文件或目录是否存在,不然某些处理方法可能会使程序出错。所以最好在做任何操作之前,先判断文件是否存在。这里将介绍三种判断文件或文件夹是否存在的方法,分别使用os模块、Try语句、pathlib模块。

{事情 | shiqing}经过是这样的:早上来上班,打开网站首页,首页赫然蹦出个 502 bad gateway。 what the ....,一开始我不以为意,不就是服务器出了点问题吗,有什么大不了的。

系统需求:CentOS/RHEL/Fedora/Debian/Ubuntu/Raspbian/Deepin Server/Aliyun/Amazon/Mint Linux发行版需要5GB以上硬盘剩余空间,MySQL 5.7,MariaDB 10至少9GB剩余空间需要128MB以上内存(如果为128MB的小内存VPS,Xen的需要有SWAP,OpenVZ的至少要有128MB以上的vSWAP或突发内存),注意小内存请勿使用64位系统!