python ’ 目录归档

[Python代码]Discuz!论坛(X2.5)发帖及回复脚本

昨天,我介绍了Discuz!论坛登录的Python脚本实现(点击进入)。今天,我继续这一系列,介绍Discuz!论坛最常见的一类脚本操作——发帖及回复。这里,我只实现普通主题的发表以及回复的脚本。

首先,我们依然要来分析发主题帖和回复时传输的数据包所post的数据:
阅读全文

[Python代码]Discuz!论坛(X2.5)模拟登录脚本

Discuz!论坛是国内使用最广泛的论坛系统之一,目前最新的版本是X2.5。本文将介绍Discuz! X2.5版本系统模拟登录的Python脚本实现。

首先,我们来查看一下登录时传输的数据包中的post数据有哪些:
阅读全文

[Python代码]人人网状态墙抓取脚本

在很多活动中,会使用诸如人人墙、微博墙这类产品增强现场的氛围,而在活动后,如何保留这些状态呢?我们不可能会指望着以后再登录这些网站一页一页翻看下去,因为像人人墙15条状态一页,一次活动很容易就几十上百页,甚至不能指望这些网站永久的正确保留这些状态墙(比如,现在去查看比较早的人人墙,发表时间一律是2011-09-06 01:26,原始的时间数据就已经丢失了)。这时,我们就需要把这些状态墙抓取下来留作永久保存的几年了。
阅读全文

[Python代码]人人网登录脚本(含登录失败及验证码处理)

用Python实现的人人网登录脚本在网上并不少见,但是一般都没有对登录失败验证码进行处理,而本文中的代码将对登录失败的情况进行具体的错误提示,并通过自动下载验证码手动输入的方式处理验证码问题

本文中的代码是去年一次活动中,为了获得人人墙中的状态而编写的,代码中的一些部分参考了网上其他的脚本,今天又做了一定的修改。
阅读全文

Python可执行对象——exec、eval、compile

这篇文章将对Python提供的调用可执行对象的内建函数进行说明,涉及exec、eval、compile三个函数。exec语句用来执行存储在代码对象、字符串、文件中的Python语句,eval语句用来计算存储在代码对象或字符串中的有效的Python表达式,而compile语句则提供了字节编码的预编译。

当然,需要注意的是,使用exec和eval一定要注意安全性问题,尤其是网络环境中,可能给予他人执行非法语句的机会。
阅读全文

Python函数式编程——偏函数

今天讲解的内容是偏函数,偏函数是从Python2.5引入的一个概念,通过functools模块被用户调用。

偏函数是将所要承载的函数作为partial()函数的第一个参数,原函数的各个参数依次作为partial()函数后续的参数,除非使用关键字参数。

通过语言描述可能无法理解偏函数是怎么使用的,那么就举一个常见的例子来说明。在这个例子里,我们实现了一个取余函数,对于整数100,取得对于不同数m的100%m的余数。
阅读全文

Python函数式编程——map()、reduce()

提起map和reduce想必大家并不陌生,Google公司2003年提出了一个名为MapReduce的编程模型[1],用于处理大规模海量数据,并在之后广泛的应用于Google的各项应用中,2006年Apache的Hadoop项目[2]正式将MapReduce纳入到项目中。

好吧,闲话少说,今天要介绍的是Python函数式编程中的另外两个内建函数map()reduce(),而不是Google的MapReduce。
阅读全文

Python函数式编程——apply()、filter()

一周前介绍了Python函数式编程中的匿名函数lambda,然后这一周忙了一些其他事情,以至于昨天晚上才写了一篇文章。今天继续Python函数式编程这个话题,介绍内建函数apply()filter()

介绍这两个内建函数主要是为了后面介绍map()reduce()做准备,其中apply()已经被有效取代,filter()部分可由列表解析list comprehension代替。
阅读全文

Python函数式编程——匿名函数lambda

Python虽然不是一种函数式编程语言,但仍然给予了函数式编程很大的重视。接下来的几篇文章我将记录一些Python函数式编程的知识,其中本文要说的是匿名函数lambda。

Python使用lambda关键字创造匿名函数。所谓匿名,意即不再使用def语句这样标准的形式定义一个函数。这种语句的目的是由于性能的原因,在调用时绕过函数的栈分配。其语法是:
阅读全文

Python可变长度的函数参数

在编程的过程中,我们可能会遇到函数参数个数不固定的情况。这时就需要使用可变长度的函数参数来实现我们的功能。在Python中,有两种变长参数,分别是元组(非关键字参数)和字典(关键字参数)。其调用方式是:func( *tuple_grp_nonkw_args, **dict_grp_kw_args ),下面将详细介绍这两种变长参数。

阅读全文

return top