2009-01-16 72 views
0

我研究了蜘蛛,並認爲這是一個有點太複雜,我試圖做一個非常簡單的應用程序。網頁上的某些數據無法在源代碼中查看,因爲它只是由瀏覽器顯示。創建一個簡單的'蜘蛛'

如果我想要從WebBrowser控件中顯示的特定網頁中獲取值,是否有任何方法可以從此瀏覽器的內容中讀取值?

如果不是,有沒有人有任何建議,他們可能會如何處理?

回答

2

我不得不同意Bombe,這聽起來更像是你想要HTML屏幕抓取。它需要大量的解析,如果你的拼搶都沒有改變的頁面,你的應用將打破,但這裏有一個如何做一個小例子:

WebClient webClient = new WebClient(); 
const string strUrl = "http://www.yahoo.com/"; 
byte[] reqHTML; 
reqHTML = webClient.DownloadData(strUrl); 
UTF8Encoding objUTF8 = new UTF8Encoding(); 
string html = objUTF8.GetString(reqHTML); 

現在的HTML變量中有完整的HTML和你可以開始解析。

0

由於瀏覽器只是呈現底層內容,所以最靈活的方法是自己解析底層內容(html/css/js/whatever)。

我會創建一個解析引擎,查找您的蜘蛛應用程序需要的東西。

這可能是一個基本的字符串搜索算法,例如尋找href =「」並讀取值以產生新的請求並繼續進行搜索。您的引擎可以被編寫爲僅查找感興趣的內容並以此方式擴展以獲得更多功能。