python discuz_python_discuz_论坛发帖原理

首先要清楚

discuz

论坛发帖的流程,简单地说就是以下流程:

进入登录页

->

登录

->

进入版面

->

发帖

登录和发帖时要获取到页面的

formhash

值,

否则会失败,

如果启用了验证码,

还得去分析验

证码,

这就比较复杂了。

这里只用

python

来描述这一系列过程,

涉及到验证码还请大家自行

去实现。

#!/usr/bin/env python

#coding=utf-8

from urllib import urlencode

import cookielib, urllib2,urllib

import os,sys

import urllib2,cookielib,urllib,httplib,re

import getpass

import time

from Queue import Queue

import threading

class Discuz:

def __init__(self,uid,pwd,debug = False,**param):

self.username = uid

self.password = pwd

self.para = param

#self.timelimit = timelimit

self.regex = {

loginreg:,

postreg:

}

self.opener = None

self.request = None

self.islogin = False

self.donecount = 0

self.__login()

self.threadcount = 10

def __login(self):

try:

loginPage = urllib2.urlopen(self.para[loginurl]).read()

formhash = re.search(self.regex[loginreg],loginPage)

formhash = formhash.group(1)

print start login......

cookiejar = cookielib.CookieJar()

self.opener = urllib2.build_opener(urllib2.HTTPCookieProcessor(cookiejar))

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值