2016-07-16 49 views
0

我想從顯示我在遊戲中的進度的網站中提取特定值,以便將它們顯示在vb.net應用程序中以便於訪問。 HTML代碼我想從得到的數據是:從HTML源獲取特定數據並將其顯示在標籤中

<div id="freemodeRank" class="page-section clearfix"> 
    <div class="rankHex right-grad bronze"> 
     <h3 style="font-size:54px">225</h3> 
     <p style="text-align:center;"></p> 
    </div> 
    <div class="rankXP"> 
     <div class="clearfix"> 
      <h3 class="left">5.6M<span> RP</span></h3> 
     </div> 
     <div class="rankBar"> 
      <h4>Play Time: 58d 4h 23m</h4> 

我想從這個代碼得到的數據是:

「225」,「5.6M」和「播放時間:58D 4小時23分「

任何幫助將是偉大的。

+0

顯示你的代碼,你是怎麼嘗試和從哪裏得到堆疊 – Fabio

+0

我真的沒有任何代碼爲程序。我只想獲取這些數據,然後將其顯示在標籤中。 –

+0

你可以使用正則表達式嗎? –

回答

0

您可以使用GetBetween函數來幫助您做到這一點。

Public Function GetBetween(ByRef sSearch As String, ByRef sStart As String, ByRef sStop As String, _ 
               Optional ByRef lSearch As Long = 1) As String 
    lSearch = InStr(lSearch, sSearch, sStart) 
    If lSearch > 0 Then 
     lSearch = lSearch + Len(sStart) 
     Dim lTemp As Long 
     lTemp = InStr(lSearch, sSearch, sStop) 
     If lTemp > lSearch Then 
      GetBetween = Mid$(sSearch, lSearch, lTemp - lSearch) 
     End If 
    End If 
End Function 

來源:http://www.devx.com/tips/Tip/40934

你可以這樣調用

'Assuming htmlData is the variable where your html string is stored 
Dim rpAmount As String = GetBetween(htmlData, "<h3 class=""left"">", "<span> RP</span></h3>") 

這同樣適用於你想刮

+0

感謝您的幫助。我有一個問題是「InStr」有一個錯誤:「返回一個整數,指定一個字符串在另一個字符串中首次出現的起始位置」,我該如何解決這個問題? –

+0

什麼是錯誤信息?您發佈了InStr所做的一些描述。另外,你可以發佈你如何調用這個函數嗎? (代碼行) – ebildude123

+0

@ ebildude123 - 'vb6'? – Fabio

0

HTML是Xml值的其餘部分。使用XDocument課程獲取您的數據。 XDocument Class

Dim html As String = "<html><div id=""freemodeRank""><h3>255</h3></div></html>" 

Dim document As XDocument = XDocument.Parse(html) 
Dim value As String = document.Root... 
           <div>. 
           Where(Function(div) [email protected]("freemodeRank")). 
           <h3>. 
           First(). 
           Value 

XML Axis Properties (Visual Basic)

的LINQ to XML無軸屬性

Dim value As String = 
    document.Root. 
      Descendants("div"). 
      Where(Function(div) div.Attribute("id").Value.Equals("freemodeRank")). 
      Element("h3"). 
      Value 

Overview of LINQ to XML in Visual Basic

相關問題