当前位置: 首页 > 工具软件 > sofa-pbrpc > 使用案例 >

Take sofa

阚元白
2023-12-01

网上的一些资料。转自博客园http://www.cnblogs.com/kongsheng/archive/2011/06/15/2081751.html

技术路线:
  (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'"     onmouseover ="this.style.backgroundColor = '#E5F0FF'" class =inp >   </ li >    < li > 密码 < input id =password1 name =vpassword size ="12"     maxlength ="18" type =password onMouseOut ="this.style.backgroundColor='#ffffff'"     onmouseover ="this.style.backgroundColor = '#E5F0FF'" class =inp ></ li >    < li >    < input id ="button1" name ="button1" type ="button"     onmouseout ="this.style.backgroundColor='#ffffff'"     onmouseover ="this.style.backgroundColor='#E5F0FF'" class ="inp"   value ="登录社区" onclick ="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'" onmouseover ="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 都不用打开,(经过测试,系统资源不大,如果机器不行,可以用多线承,或者干脆发到平时利用率不是很高的服务器上去) 千千万万个沙发就收入囊中了.
 类似资料:

相关阅读

相关文章

相关问答