“抢沙发”程序交流

大家有实现这个功能的程序 请留言交流

技术路线:
  (1) 操作系统:Microsoft Windows Server 2003企业版
  (2) 数据库管理系统:Microsoft sql Server 2005
  (3) 程序设计工具:Visual Studio.Net 2005 (C#语言)
 
  而Visual Studio.Net 2005 (C#语言),也属于那种图形控件拖拉,比较容易上手的编程工具.
  首先,大体分析一下要实现"抢沙发"这一目的所要解决的问题.(个人观点,应该还有其他解决方案实现)
  1\自动登陆
一\自动登陆.
  对于固定的一个或者几个论坛,这个步骤的实现就比较简单了.
  下面就以天涯为例,简要介绍一下自动登陆的实现流程.
  首先就是把天涯的网址(www.tianya.cn)传递给一个WEBBROWSER控件.从而获得这个网页的HTML源码(点IE浏览器中的查看->源文件也可以看到)
  HTML源码截选如下:
  引用"
  <!--社区弹出广告end-->
  <div class="logintab">
  <form method="post" id="login" name="login">
   <ul>
   <li>用户
   <input id=text1 name=vwriter size=12 maxlength="16" onMouseOut="this.style.backgroundColor='#ffffff'" οnmοuseοver="this.style.backgroundColor = '#E5F0FF'" class=inp></li>
   <li>密码 <input id=password1 name=vpassword size="12" maxlength="18" type=password onMouseOut="this.style.backgroundColor='#ffffff'" οnmοuseοver="this.style.backgroundColor = '#E5F0FF'" class=inp></li>
   <li>
   <input id="button1" name="button1" type="button" οnmοuseοut="this.style.backgroundColor='#ffffff'" οnmοuseοver="this.style.backgroundColor='#E5F0FF'" class=inp value="登录社区" οnclick="javascript :check_data();" />
   "引用完毕

HTML的源码http://www.atongnet.cn/search.aspx?where=title&keyword=%D4%B4%C2%EB&cid=0&sdate=2007-09-13&edate=2008-09-14&clientDate=Sat%2C+13+Sep+2008+11%3A07%3A07+GMT)看起来有点晕,感觉没有什么头绪.
  但只要大家稍微了解以下它的编码规则问题就迎刃而解了.其实,打个比方来说,就象咱们平时包装礼物时,大盒子套着小盒子一样,一层一层嵌套的,学过计算机的可能知道他的学名,叫DOM树.好了废话不多说,直接进入正题.
  登陆网站我们无非就做了以下2件事情,
  1、输入用户名和密码。
  2、点登陆按钮。
  就OK了。
  那么如何来自动把自己的用户名和密码发给网站的服务器呢?

下面还是让我们把目光转回HTML代码的分析上来,请大家注意这里:
  <li>用户
     <input id=text1 name=vwriter size=12 maxlength="16" onMouseOut="this.style.backgroundColor='#ffffff'" οnmοuseοver="this.style.backgroundColor = '#E5F0FF'" class=inp></li>
  上面的源码提示我们,在天涯主页中,有一个ID为text1的输入框,而它的VALUE值就是提交给服务器的用户名.(顺便鄙视一下,天涯论坛的程序员,这个ID名起的也太没水准了吧,呵呵)
  在这个FORM中,我们只要把用户名和密码输入框的VALUE值设好,然后激发按钮的点击事件就可以了.
  实现代码如下:
  1\获得用户名\密码以及登陆按钮:
   HtmlElement btnSubmit = wbMain.Document.All["button1"];
   HtmlElement tbUserid = wbMain.Document.All["text1"];
   HtmlElement tbPasswd = wbMain.Document.All["password1"];
  (上面已经说过,对于已知网站这步非常容易实现.对于想抢未知网站抢沙发有兴趣的同志们可以和我联系,这个比较复杂,需要有一个识别算法,这里就不多说了)
  2\把准备好的用户名和密码传递给控件
   tbUserid.SetAttribute("value", "samm2886");
   tbPasswd.SetAttribute("value", "******");
   btnSubmit.InvokeMember("click");
  =========================================================
  道这里一个自动登陆天涯的小程序就已经圆满完成了,呵呵,初战告捷了吧.接下来就说一下如何来获得有可能抢到沙发帖子的连接了.

经常混天涯的同志们可能都知道,天涯有这样一个功能,"按论题提交日期排列"----就是它,给我们抢沙发带来了很大的便利.
  和自动登陆一样,再重复如下一个过程.
  1\把要打开页面的地址传递给程序(以天涯杂谈"按论题提交日期排列"为例,代码如下:
  wbMain.Navigate("http://cache.tianya.cn/new/publicforum/articleslist.asp?strItem=free&Part=1&strSubItem=&strSubItem2=");
2\提取出页面中的有用连接:还是给出HTML的截选关键部分
  引用:
  </table>
  
  <table width=640 border=0 cellspacing=0>
  <tr><td width=20><font face=wingdings color=blue>K</font> </td><td width=370><a href='http://cache.tianya.cn/publicforum/content/free/1/1153174.shtml' target='_blank'>问责建设部 --建筑节能房开企业历史欠账4000亿,怎么还?- 答:拆分建设部</a></td>
  <td width=90><a href='/browse/Listwriter.asp?vwriter=非将' target=_blank>非将</a></td>
   <td width=35 align=center class=tdfont>7</td>
   <td width=35 align=center class=tdfont>2</td>
   <td width=90 align=center class=tdfont>3-9 23:32</td>
  </table>

看一下上面的HTML代码,大家就会发现以下信息:
  1\回帖个数(这也是我们沙发党所最关系的:))(2)
  2\连接地址href='http://cache.tianya.cn/publicforum/content/free/1/1153174.shtml'
  (手动抢沙发一般都不注意这个信息,但自动抢没有它,就是比尔.盖次来,估计他也抢不上这个沙发)
  3\文章标题

问责建设部 --建筑节能房开企业历史欠账4000亿,怎么还?- 答:拆分建设部
  (呵呵,一般沙发党都是不看标题直接强的,哈哈,有没有它一样拉,哈哈)
  4\就是文章的浏览个数(7)和提交时间了(用途不是很大)
做到这里基本就已经接近尾声了哈.....
  接下来怎么做,答案很简单,一个字
  "抢",哈哈.见到回复为0的帖子做为一个 抢沙发的机器人,你怎么能放过它.......
  呵呵.
  把提取出来的连接('http://cache.tianya.cn/publicforum/content/free/1/1153174.shtml' )
  传给WEBBROWS对象......OK了,一个崭新的,没有回复的帖子就展现在你的面前..............
  然后就是开动你的脑筋...想几句好词拉,我可没"抢沙发专业人士"那么有才,能整那么多古诗,呵呵.就退了求其次了,下载一个中文的歌词库,每次在里面随机抽取一句歌词吧,嘎嘎,后面别忘了来一句"天涯万岁"哈哈,否则容易被封号的.

总结一下,其实就需要掌握一个东西 WEBBROWSER控件的应用.整个程序就是重复4次变可
  第一次:
  输入天涯网址.并获得并设置用户\密码输入框,然后激发登陆按钮的点击事件.完成自动登陆
  第二次:
  输入天涯杂谈"按论题提交日期排列"网址,并提取出回复为0网页的连接.
  第3次:
  输入第2次提取出来的网址,获得并设置回复输入框,然后激发"发表"按钮的点击事件.抢沙发完成.....


  这沙发抢的是 没日没夜,只要你连上因特网,IE 都不用打开,(经过测试,系统资源不大,如果机器不行,可以用多线承,或者干脆发到平时利用率不是很高的服务器上去) 千千万万个沙发就收入囊中了.

 

 

 

 

 

 

http://www.atongnet.cn/show.aspx?&id=3135&cid=35

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值