广州电视塔命名辅助工具

广州电视塔正式向社会征名了,到时会评出一等奖10万,2到5名2万,6到10名1万,其他的还有机会参与抽奖,详情看这个网址:http://news.dayoo.com/guangzhou/74709/index.shtml。



     这个消息我是前天才知道的,昨天去到那个网页,发现网页上会公布一些已经提交了的名称,按照规则,已经提交了的名称,你在提交就不具竞争前10名的机会了,虽然可能还有份抽奖,而且一个身份证号也就一次机会,所以你提交的姓名别人没有,这会大大提高了你进前10的机会,当然,不是每个人都具备进前10的机会,但如果你可以知道你想到的名称,是否已被人提交了,至少可以保证你不会输在起跑线上。遗憾的是,官方网站只提供了已提交的名单,却不提供名称搜索功能。至少我是找不到啦~~这让我很是郁闷,因为昨天我去到那个网页时,名单的页数已经是300多页了,显然,我不可能逐页去找,我也没那个闲工夫。但有不愿意就这么输在起跑线上,碰巧在csdn上有一篇讲获取网页标题的文章,有部分代码http连接代码可以拿来加工再利用,于是乎就诞生了这个“小蛮腰命名辅助工具”了。(注:这是广州电视塔的民间花名)

     后来,我又想到,何不让它也造福一下大家呢?考虑到通用性,于是在原有基础上花了点时间进行改良,呵呵~~就是现在的这个软件了。。。。

 

辅助工具截图

 

下载地址: http://www.uushare.com/user/zhong317/file/2033879

  

 

说说软件需要注意的问题:

  软件的数据仅供参考,因为网站的数据不断更新,软件可能无法保证数据与网站绝对同步。

  软件在连接过程中又是可能会出现连接不畅的现象,而终止搜索,这里面的原因可能有两个方面:

    1、网站服务器连接不畅

    2、自身网络环境不稳定

   据我所知,目前命名的总数已经超过8万了,所以软件的搜索时间会与日俱增,这是必然的,现在我把所有数据都遍历一次所花的时间大概  200多秒,可能当你用这个软件的时候就不是这个数字了。

 

 说软件的原理:

 

      很简单,首先我们在浏览网页的时候都会有一个URL地址指向它,而现在问题就是我们要看1000多个的名单网页,幸运的是,它们的URL肯定有规律,其实1000多页的网页不同之处只在于url的个别参数上,但是由于大洋网的网页采用Ajax技术,数据是异步传输的,不像传统论坛网页,可以直接在浏览器的地址栏获取其实际请求的url,不过这个不是问题,通过一些http监听软件,我们很容易可以找到我们所要的url和负责页数的参数,然后只要叫程序发送url请求,获取数据,比对有没有我们要的,没有就换个参数值,继续发送请求。

      实现上,采用了c#来开发,这是考虑到通用性的问题,不过,老实说,第一次用c#做桌面应用,感觉做起来挺蹩脚,不够VB来的直接,不过我最初的目的是通过它来熟悉一下C#这门语言,权当练习。

     主要应用到一下几个东西:

          HttpWebRequest, HttpWebResponse负责请求的发送和响应接受。

         一个Thread对象负责处理请求发送和数据接受,这里我发现,.net的用户界面是由一个单独的线程维护的,而你在其他线程里更新界面信息是不被允许的,这就需要把更新界面的工作封装在一个方法里,然后通过一个委托来帮助我们更新用户界面的信息。

          为了用户输入不出错,还应用了正则表达式,

        

        

          这几句完成了对输入的要求,就是只准输入汉字或数字。

          不过,过程中还碰到几个莫名奇妙的问题,例如,当我部署安装的时候,杀软竟然说我的程序有病毒,很是郁闷,不知道为什么;还有状态栏最小化后,恢复后就看不到了;至今不解,哪位知道的话,麻烦告诉我一下,谢谢!

          具体核心代码贴出来,由于只是个玩具,基本上没有优化,想到哪写到哪,如果不觉得寒骖的话可以看一下吧:

        

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值