2011-12-13 43 views
0

我已經嘗試了一些東西,如將HTML轉換爲XML,然後使用XML導航器獲取輸入元素,但每當我開始此過程時都會丟失。VB.NET〜如何導航到網站並下載html,然後解析出代碼以僅顯示輸入元素?

我所試圖做的是導航到將使用textbox1.text

然後下載HTML和解析出輸入的元素,如加載的網站。用戶名,密碼等,並按照類型(id或name)將元素放置到名稱旁邊的屬性的richtextbox中。

例子。

Username id="username" 
Password id="password" 

任何線索或如何正確地執行HTML到XML轉換器,閱讀器,解析器?

感謝

回答

0

這聽起來像你只需要一個良好的HTML解析庫(而不是試圖用一個XML解析器)。 HTML Agility Pack通常適合這種需求。還有other options

+0

是的,我聽說過的HTML敏捷軟件包,但文檔對於如何使用該庫非常有限。 – user1096419 2011-12-13 19:04:33

0

財產以後像下面使用StreamReader到頁面的源中提取爲一個字符串result

Dim uri As String = "https://www.yourUrl.com"   

    Dim request As HttpWebRequest = CType(WebRequest.Create(uri), HttpWebRequest) 
    Dim objRequest As HttpWebRequest = WebRequest.Create(uri) 
    Dim result As String 
    objRequest.Method = "GET" 
    Dim objResponse As HttpWebResponse = objRequest.GetResponse() 
    Dim sr As StreamReader 
    sr = New StreamReader(objResponse.GetResponseStream()) 

    result = sr.ReadToEnd() 
    sr.Close 

然後使用正則表達式(regex)到額外需要的屬性。例如像這樣

Dim pattern As String = "(?<=Username id="")\w+" 

    Dim m0 As MatchCollection = Regex.Matches(result, pattern, RegexOptions.Singleline) 
    Dim m As Match 
    Dim k As Integer = 0 
    dim strUserID as String = "" 

    For Each m In m0 

    'extract the values for username id 
    strUserID = m0[k].Value; 

    k=k+1 
    Next 

你需要改變pattern所以它可以拿起您要查找的其他屬性,但是這不應該是很難