【转】Delphi实现自动发贴和识别验证码 王泽宾
2011-01-10 15:47
183 查看
是去年编写的一个delphi小程序,当时有个宁波的朋友让我帮他写个软件,要求如下:能够在xxxx网站上的各个交易区,实现自动发帖。
xxxx是一个游戏点卡交易站点,他们按照省份进行划分交易区域,信息发布者每次只能在一个省份发布信息。当然可能他们也是出于某种目的,比如防止信息泛滥。发布者发布信息的页面都有一个图形验证码,只有填写正确的验证码才能完成整个流程。
当时他是一直用着,现在是否还在用不得而知了,把这段代码放出来纯粹是与大家交流学习,不要作恶。
登录网站,自动填写网页数据,并提交,这样的功能比较简单,我想大家也都会,我就随便举个例子:
首先,在form上嵌入一个标准的webbrowser控件(程序中使用了另一个webbrowser控件,但可以互换),navigate一个url,然后通过ole对象访问即可。
比如页面上有个id为btnok的按钮,那么可以这样访问:
try
o := EmbeddedWB1.OleObject.document.all.item('btnok',0);
o.click;
except
txtError.caption := '当前页面未发现<确认提交>的输入位置,请核对!';
end;
复杂一点的地方主要是验证码的识别部分:
多亏这个网站的验证码图片比较简单,4个字符组成,虽然有干扰色,有噪点,有字符粘联,并带一定旋转,但只有数字,没有字母和汉字,否则麻烦大了,得做个完整的ocr系统。
图片处理流程如下:
识别模拟过程如下:
对比相似度是识别的难点,我这里由于图片比较简单,所以比较省力。对于比较复杂的图片识别,你可以建立数学模型,将图片和模板做成矩阵,依照矩阵变换和旋转进行相似度的比较,感兴趣的哥们可以更深入的了解。
xxxx是一个游戏点卡交易站点,他们按照省份进行划分交易区域,信息发布者每次只能在一个省份发布信息。当然可能他们也是出于某种目的,比如防止信息泛滥。发布者发布信息的页面都有一个图形验证码,只有填写正确的验证码才能完成整个流程。
当时他是一直用着,现在是否还在用不得而知了,把这段代码放出来纯粹是与大家交流学习,不要作恶。
登录网站,自动填写网页数据,并提交,这样的功能比较简单,我想大家也都会,我就随便举个例子:
首先,在form上嵌入一个标准的webbrowser控件(程序中使用了另一个webbrowser控件,但可以互换),navigate一个url,然后通过ole对象访问即可。
比如页面上有个id为btnok的按钮,那么可以这样访问:
try
o := EmbeddedWB1.OleObject.document.all.item('btnok',0);
o.click;
except
txtError.caption := '当前页面未发现<确认提交>的输入位置,请核对!';
end;
复杂一点的地方主要是验证码的识别部分:
多亏这个网站的验证码图片比较简单,4个字符组成,虽然有干扰色,有噪点,有字符粘联,并带一定旋转,但只有数字,没有字母和汉字,否则麻烦大了,得做个完整的ocr系统。
图片处理流程如下:
识别模拟过程如下:
对比相似度是识别的难点,我这里由于图片比较简单,所以比较省力。对于比较复杂的图片识别,你可以建立数学模型,将图片和模板做成矩阵,依照矩阵变换和旋转进行相似度的比较,感兴趣的哥们可以更深入的了解。
相关文章推荐
- Delphi实现自动发贴和识别验证码 王泽宾
- Delphi实现自动发贴和识别验证码 王泽宾 推荐
- 转 Delphi实现自动发贴和识别验证码 王泽宾收藏
- Delphi实现自动发贴和识别验证码[组图]
- Delphi实现自动发贴和识别验证码
- Delphi实现自动发贴和识别验证码
- Delphi实现自动发贴和识别验证码
- Delphi下实现QQ窗体自动隐藏
- delphi 实现网页自动登录
- Delphi 实现软件自动升级的功能
- Delphi实现窗体感知鼠标滑过并自动隐藏与显示窗口的方法
- Delphi实现网页表单数据的自动提交
- Delphi6 实现文本框的自动完成功能
- 黄聪:Python实现Discuz论坛的自动POST登录发贴回帖(转)
- 黄聪:Python实现Discuz论坛的自动POST登录发贴回帖(转)
- PYTHON实现DISCUZ论坛的自动POST登录发贴回帖
- Delphi 7 下自动实现 xp 风格的简单办法
- Delphi实现网页表单数据的自动提交
- Delphi程序的自动升级功能的实现(AutoUpdate使用指南)(转)