2014-07-15 2 views
1

는 사실은 내가추출 특정 HTML 문자열은

.. .. 난이 특정 div 태그 여기 내 코드는 사이에 데이터를 추출 할 웹 사이트의 모든 HTML 소스 코드를
Dim request As WebRequest = WebRequest.Create("https://www.crowdsurge.com/store/index.php?storeid=1056&menu=detail&eventid=41815") 
    Using response As WebResponse = request.GetResponse() 
     Using reader As New StreamReader(response.GetResponseStream()) 
      html = reader.ReadToEnd() 
     End Using 
    End Using 

    Dim pattern1 As String = "<div class = ""ei_value ei_date"">(.*)" 
    Dim m As Match = Regex.Match(html, pattern1) 
    If m.Success Then 
     MsgBox(m.Groups(1).Value) 
    End If 
+0

하는보고 가치가있을 수도 있습니다 [HtmlAgilityPack] (http://htmlagilitypack.codeplex.com/)은 많은 고통을 덜어줍니다. –

+0

또한 html 민첩성 팩을 사용했지만 div에서 데이터를 추출 할 수 없었습니다. 이걸 사용해야합니다 ... html 민첩성 팩을 사용하여 div 데이터를 추출 할 수있는 방법을 알려주십시오. – codeapp17

답변

0

것을보십시오 :

Dim pattern1 As String = "<div class\s*=\s*""ei_value ei_date"">(.*?)</div>" 

또는 ESP

Dim pattern1 As String = "<div class=""ei_value ei_date"">(.*?)</div>" 
2

HTML을 구문 분석에 대한 쉬운 접근 방법 (ecially 제어 할 수없는 소스)에서 조금 그런 짓을 할 수 있도록 것이다는 HTML Agility Pack을 사용하는 것입니다

Dim req As WebRequest = WebRequest.Create("https://www.crowdsurge.com/store/index.php?storeid=1056&menu=detail&eventid=41815") 
Dim doc As New HtmlDocument() 
Using res As WebResponse = req.GetResponse() 
    doc.Load(res.GetResponseStream()) 
End Using 

Dim nodes = doc.DocumentNode.SelectNodes("//div[@class='ei_value ei_date']") 
If nodes IsNot Nothing Then 
    For Each var node in nodes 
     MsgBox(node.InnerText) 
    Next 
End IF 

(나는 Option Infer을 가정 한)