2017-12-29 12 views
1

、私はこのような文字列としてWebページをダウンロードすることができます。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

組み込みのWebブラウザーを使用して、そのおかげです。 – User7071

関連する問題