2017-12-29 8 views
1

,이 같은 문자열로 웹 페이지를 다운로드 할 수 있습니다ID 값을 사용하여 웹 페이지에서 특정 정보를 검색하는 방법은 무엇입니까? vb.net에서

Using ee As New System.Net.WebClient() 
     Dim reply As String = ee.DownloadString("https://pastebin.com/eHcQRiff") 
     MessageBox.Show(reply) 
    End Using 

하는이 웹 페이지에있는 항목의 ID 태그를 지정할 수있을 것이다 그래야 응답만이 출력 내부 정보 코드 상자/id 태그?

예 :

https://pastebin.com/eHcQRiffRAW Paste Data의 ID 태그는 다음과 같은 텍스트가 포함 id="paste_code"입니다

:

Test=1 
Test=2 

는 ID 태그를 사용하여 동일한 메시지를 검색만을 출력에 WebClient를 얻을 수 어쨌든 거기를 (또는 다른 방법)?

답변

1

당신은 HtmlAgilityPack 라이브러리

Dim document as HtmlAgilityPack.HtmlDocument = new HtmlAgilityPack.HtmlDocument() 
document.Load(@"C:\YourDownloadedHtml.html") 

Dim text as string = document.GetElementbyId("paste_code").InnerText 

을 사용할 수 있습니다 좀 더 샘플 코드 :
(과 테스트 HtmlAgilityPack 1.6.10.0)

Dim html As string = "<TD width=""""50%""""><DIV align=right>Name :<B> </B></DIV></TD><TD width=""""50%""""><div id='i1'>SomeText</div></TD><TR vAlign=center>" 
Dim htmlDoc As HtmlDocument = New HtmlDocument 
htmlDoc.LoadHtml(html) 'To load from html string directly 
Dim name As String = htmlDoc.DocumentNode.SelectSingleNode("//td/div[@id='i1']").InnerText 
Console.WriteLine(name) 

출력 :
SomeText

+0

담당자에게 감사드립니다. ly Sunil !, 외부 라이브러리를 추가하지 않고이를 수행하는 방법에 대한 아이디어가 있습니까? 내 프로그램에 추가 dll이없는 것을 선호합니다./ – User7071

+0

외부 라이브러리가 없으면 [HtmlDocument] (https://msdn.microsoft.com/en-us/library/system.windows.forms)를 사용하여 수행 할 수 있습니다. htmldocument (v = vs.110) .aspx? cs-save-lang = 1 & cs-lang = vb # code-snippet-3) 또는 [XmlDocument] (https://msdn.microsoft.com/en-us/library/) system.xml.xmldocument (v = vs.110) .aspx) 구문 분석. HtmlDocument를 사용하면 거의 비슷한 모양이 될 수 있습니다. – Sunil

+0

WebBrowser가 내장되어있어 도움을 주셔서 감사합니다! – User7071