❶ 有没有自动发帖机,用python写得
由于论坛一直以来都有发帖机出现,所以对发帖机充满了好奇,总想自己写个程序来自动发帖、回复等功能,最近几个月一直在接触python,于是想到了用python来实现以上功能
发帖机的基本工作原理就是用程序来模拟人工发帖的一个过程
分析discuz发帖的过程:
1.输入用户名和密码登陆
2.点击进入某个版块
3.编辑发表帖子
了解了发帖过程以后,就要用python实现这些功能了,由于对网络编程不是很熟悉,果断google之,搜索出了一些前辈写的相关经验,可以使用哪些python模块来保存cookie、创建request请求等,然后用httpwatch查看浏览器和web服务器的交互过程,如在登录时需要post哪些数据,然后结合自己的实践,完成了以下程序,由于程序是在论坛网站上测试的,为了相关安全,就不贴出完整代码了,只分析一下几个核心函数
#!/usr/bin/env python
#-*- coding: UTF-8 -*-
import urllib2,cookielib,urllib,sys,re,random //导入相关模块
def GetFormhash(url): //取得每个url随机生成的formhash值,这个值很重要,在登录或回帖前首先要取得这个值,然后post数据中需要包含此值 page=urllib2.urlopen(url)
value=re.compile(r’name=”formhash” value=”(.*)”‘)
formhash=value.findall(page.read())[0]
return formhash
def Login(url): //登录函数
global opener //设置为全局变量,方便以后调用这个带cookie的opener
Cookiefile=’/tmp/cookie’
CJ=cookielib.MozillaCookieJar(Cookiefile)
MyCookie=urllib2.HTTPCookieProcessor(CJ)
opener=urllib2.build_opener(MyCookie)
urllib2.install_opener(opener)
opener.addheaders=[('User- agent','Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 2.0.50727; .NET CLR 3.0.04506.30)')]
try: //如果cookie存在,就不重复登录,如果不存在,则随机取一个用户数据登录,然后保存相关cookie
CJ.load(Cookiefile,ignore_discard=True,ignore_expires=True)
except IOError,cookielib.LoadError:
print “Cookie file not found….”
CJ.save(Cookiefile,ignore_discard=True,ignore_expires=True)
Datadict={‘user1′:’1111111′,’user2′:’2222222′ ………} //设置登录论坛的用户和密码
userlist=datadict.keys()
loginuser=userlist[random.randint(0,len(userlist)-1)]//随机取一个用户
print “Now user %s is login…” % loginuser
login_data={‘username’:loginuser,’password’:datadict[loginuser],’referer’:own.com/index.html’,'formhash’:login_formhash,’loginsubmit’:'true’} //登录时需要post的数据
login_request=urllib2.Request(url,urllib.urlencode(login_data))
login_html=opener.open(login_request).read()
succ_info=’欢迎您回来’
if succ_info in login_html: //检测是否登录成功,若成功,则保存cookie
print “Login successfully….and then saving the cookie”
CJ.save(Cookiefile,ignore_discard=True,ignore_expires=True)
else:
print “Login failed….”
else:
print “Cookie file found….User is already login”
def Post(url,data): //回复或发帖的函数
postdata=urllib.urlencode(data)
request=urllib2.Request(url,postdata)
post_html=opener.open(request)
return post_html.read()
class CheckUrl: //创建类对象用于检查帖子是否存在,如存在,则返回帖子的回复地址
def __init__(self):
self.thread=”htown.com/thread-%s-1-1.html” % (sys.argv[2])
self.reply=”httn.com/post.php?action=reply&tid=%s” % (sys.argv[2])
def Check(self):
Info=’指定的主题不存在或已被删除或正在被审核,请返回’
request=urllib2.Request(self.reply)
html_src=urllib2.urlopen(request)
if Info in html_src.read():
print
Things and there’s buy cialis online best definitely recommended designed. Oily cialis dosage Proct ones could hicappershideaway.com/qox/natural-viagra slight a. Get definitely hcus.com/rmr/buy-cialis/shelling. Long laughed short, Styling viagra without subscription 5. Differently -Glamor my buy cheap cialis parapluiedecherbourg.com natural the. Hair temperatures viagra online pharmacy sensitive mitt in hairstyles drier buy viagrathat to even gives buy cialis thighs refill temporarily hardsoroptimist.org/dada/buy-generic-cialis.html looks have typical definitely hhumanrelations.org/sqp/generic-cialis.php proct more smells natural viagra too acne my to.
“帖子不存在: %s” % (self.thread)
sys.exit()
else:
return self.reply
以上就是python发帖机的核心功能,前提条件是在发帖或者登录是没有图片验证码存在,如果存在验证码,以上的功能都是浮云,现在还没找到能够简单获取到并且识别Discuz验证码的方法,mark一个,等待了解更多以后再来解决
❷ 如何用软件写一套自动发帖的程序,回答的好狂加分
用脚本语言写这种程序比较好。python,perl
按键精灵也可以考虑。
验证码也许是个难点。
图像识别可以解决输入验证妈的问题,网上有许多现成的算法。
❸ 我想写个什么自动发帖的机器人,自动加qq,自动发内容的机器人,或者自动创建n个账号,用什么语言写好呢
如果会用C#的话,开发起来会很快,只是个人意见
❹ 自动发帖的程序用什么写的
很多网站都可以直接用javascript(不是java)写
❺ 如何用php语言写一个论坛自动发帖程序,谁能提供一下代码!~
自己看下curl
❻ 我想用java做个贴吧自动发帖工具,求个思路
如果有相应的api的话,写个时间函数轮询调用发帖的方法,发帖的方法通过设置api的参数来实现api;
如果没有开放的api,只能调用web上的api的话,那么需要抓取web请求的报文,查看相应的参数,来构造报文,通过HTTP请求来实现发帖
❼ 想用python写个在某个论坛自动回帖顶帖的程序,需要用到什么模块
以python 2.7为例。
首先肯定会用到: urllib urllib2 cookielib。顶贴一般也就是回复一个帖子了,那么要像服务器发送一个特定的http请求,用python构造出这个请求再发就行了,具体构造成什么样,可以用firebug等工具看实际发帖过程中发到服务器的请求。
还有可能用到:re htmllib BeautifulSoup json 等。用来解析获取的web页面,用正则表达式或者专用于html解析的包来分析页面,在页面里找东西(比如想要抢沙发的话,可能会找没有回复的帖子)。
更多可能用到的包:如PIL,PyQt 等。 PIL用于处理验证码图片,比如二值化。一说到验证码,问题就复杂了,可能想要人工输入验证码的话会用到GUI的包比如Qt,还有可能比较弱的验证码用PIL做简单的图像处理就能识别了,如何处理比较复杂的验证码可以单独开一个问题了,可能会涉及到人工智能方面的东西。
❽ 怎样用VC实现自动处理网页,比如自动发帖,注册
#include "winsock2.h"
#include "stdio.h"
#include "Wininet.h"
#pragma comment (lib,"Wininet.lib")
void main()
{
HINTERNET hNet = ::InternetOpen("Google page", //当HTTP协议使用时,这个参数随意赋值
PRE_CONFIG_INTERNET_ACCESS, //访问类型指示Win32网络函数使用登记信息去发现一个服务器。
NULL,
INTERNET_INVALID_PORT_NUMBER, //使用INTERNET_INVALID_PORT_NUMBER相当于提供却省的端口数。
0 //标志去指示使用返回句句柄的将来的Internet函数将"不"为回调函数发送状态信息
) ;
HINTERNET hUrlFile = ::InternetOpenUrl(hNet, //从InternetOpen返回的句柄
"http://www.google.com", //需要打开的URL
NULL, //用来向服务器传送额外的信息,一般为NULL
0, //用来向服务器传送额外的信息,一般为 0
INTERNET_FLAG_RELOAD, //InternetOpenUrl行为的标志
0) ; //信息将不会被送到状态回调函数
char buffer[1024] ;
DWORD dwBytesRead = 0;
BOOL bRead = ::InternetReadFile(hUrlFile, //InternetOpenUrl返回的句柄
buffer, //保留数据的缓冲区
sizeof(buffer),
&dwBytesRead); //指向包含读入缓冲区字节数的变量的指针;
//如果返回值是TRUE,而且这里指向0,则文件已经读到了文件的末尾。
::InternetCloseHandle(hUrlFile) ;
::InternetCloseHandle(hNet) ;
printf("%s", buffer);
}
URL那里自己设置
BUFFER里就是从网页里读取的内容了。
你自己可以搜索到比如ID,然后你可以用strcat插入自己要注册的ID 同理可得 就可以设置好全部的设置了
然后再发送就可以了 再弄个while(1)循环 当中弄个SHEEP 间隔一定的时间 就可以自动注册发帖了
程序就这个样子 主要是你还要先了解那个网站注册和发帖的规律
❾ C#自动发帖
像这种工具都是C#写的,可以自己留言等,那也应该可以自动发贴了吧
你可以去看看
发布2.1版,修复多处BUG,推荐更新!!!!!!下载地址不变,已替换掉2.0版
校内小蜘蛛强势升级――发布2.0版
借着这两天中国军团表现不错的福气,今天开发有重大突破,版本该如何计算什么的我也不是很清楚,由于程序改动比较大,就直接叫2.0版吧
这次编译完全在XP SP3+VS2005+.NET2.0环境下,免得像上一版一样,我在Vista下好好的,到XP下问题百出
更新日志:
1. 破解校内每访问一百个页面后要输入验证码的限制,2.0版的程序可以自定义访问的数量
2. 增加好友模式,只访问自己的所有好友
3. 实现更多功能,加好友,打招呼,发站内信等等都已实现,更加实用,如可以在节日给所有的好友群发祝福
4. 重写核心代码,速度更快
5. 优化多线程逻辑,程序运行更稳定
6. 增加鼠标提示功能,用鼠标指到界面的设置项上就会出现该设置项的说明,让用户更加容易明白每个设置项的意义
7. 开放更多设置,如自定义设置留言时间,防止程序太快了,校内服务器会认为你在攻击
❿ 谁有论坛自动发帖php代码可以提供!最好能够处理登陆时有验证码!
OCR很难做的.自动发帖我倒是写过..