程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> .NET網頁編程 >> .NET實例教程 >> 網頁數據提取----網絡投票軟件開發

網頁數據提取----網絡投票軟件開發

編輯:.NET實例教程

這是一個很早就設想的項目,一直沒有付諸實現。前幾天從網上接了一個小項目,和 網頁數據提取有些關系,就順便開發了這方面的功能。

項目有幾個步驟,從簡單到復雜一步步實現。現從簡單的開始吧。

說簡單,就簡單。不考慮模式問題,不考慮性能問題,不考慮多線程問題,采用傳統的編程方式,想到功能就加上去,優化的問題以後考慮吧,當然要冒著整個項目被推翻的風險。

功能列表:

1。讀取網頁: 必須實現的功能,否則就沒有操作的基礎數據。網頁數據類型包括:Html, XML, asp, ASPx, image, script等。讀取方法很多種,比如WebBrowser控件,WinSock控件等。

2。網頁數據解析:對上一步讀取的數據再加工和檢索,找到需要數據。這一步操作挺麻煩的,因為我們面對的數據結構五法八門。可以使用WebBrowser的Document訪問節點;也可以使用mshtml中的HtmlDocumentClass類;直接讀取數據,采用文本分析方法也行,效率低一些,如果用正則表達式,效率會提升不少。上面的數據分析方法我都用過,根據處理的數據類型決定。

上面兩步是初級部分,實用功能建立在上述結果的基礎上。

3。添加實用功能:

1) 網頁中link, button點擊:模擬用戶的操作,點擊網頁中的鏈接。在WebBroswer或msHtml中很容易實現點擊動作。注意要實現相關事件回調,比如Completed,Navigating等。

WebBrowser --> Document --> DomDocument --> Html Element --> Click

要找到相應的控件可以使用name, class id, href,submit等屬性在控件集中過濾。

2)網頁中數據填充: 數據填充一般發生在textbox控件,通過name能定位到控件,把待填充值賦給其value屬性。

3)驗證碼識別:這一個牽涉到很多知識的話題,我會在另一篇文章中論述之, 在這裡我們舉個簡單的例子,如,復雜一點的如, (聲明:驗證碼圖片是從網上提取的,網站名不記得了,如發現侵權,請立即聯系[email protected]或QQ:624286399,立即刪除圖片)。

4)網絡問題:有很多朋友喜歡使用代理服務器上網,代理服務器功能必不可少。使用靜態地址的朋友可以考慮IP地址不斷變化,動態IP地址功能也加進來吧,也不怎麼難實現。兩者功能實現技術可以使用Sock, DCHP, WMI等,我用的是WMI.

5)網頁過濾:網頁過濾主要是處理IE和網頁中script彈出的對話框。挺煩的,用戶交互模式使用IE還行,在工具中不能人工干預,不能打斷工具運行,一定要去掉。這是個技術難點,好在我已經解決了這個問題。關鍵是要解決UI Handler的問題。

$False$

在實際開發中還用到了其他的技術,今天先說到這裡,以後詳談。

如果需要開發類似軟件可以聯系[email protected], QQ:624286399,MSN: [email protected].

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