程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 更多編程語言 >> Delphi >> Delphi實現自動發貼和識別驗證碼

Delphi實現自動發貼和識別驗證碼

編輯:Delphi

這是去年編寫的一個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系統。

圖片處理流程如下:

識別模擬過程如下:

對比相似度是識別的難點,我這裡由於圖片比較簡單,所以比較省力。對於比較復雜的圖 片識別,你可以建立數學模型,將圖片和模板做成矩陣,依照矩陣變換和旋轉進行相似度的 比較,感興趣的哥們可以更深入的了解。

源碼我把它放到資源裡面去,大家可以免分下載。各位見笑了,dephi7編寫,當時的識別 率差不多80%左右。

本文出自 “網站架構之家” 博客,請務必保留此出處 http://wangzebin.blog.51cto.com/653300/128549

本文配套源碼

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved