1

したがって、基本的にはWebページのデータを受け取りたいのですが、特定のクラス名要素またはタグ名の値のみを受け取ります。

<div>
    <div class="abc" style="margin-top:-187px;"><strong>1111</strong></div>
    <div class="abc" style="margin-top:-150px;"><strong>2222</strong></div>
    <div class="abc" style="margin-top:-114px;"><strong>3333</strong></div>
    <div class="abc" style="margin-top:-77px;"><strong>4444</strong></div>
    <div class="abc" style="margin-top:-42px;"><strong>5555</strong></div>
</div>

上記から、タグ名strongまたはabcクラスの要素のすべての値が必要です。したがって、私の出力は次のようになります

1111
2222
3333
4444
5555

私は以下を作成しました

Dim inStream As StreamReader
Dim request As WebRequest = WebRequest.Create("url here")
Dim response As WebResponse = request.GetResponse
inStream = New StreamReader(response.GetResponseStream())
Dim str As String = inStream.ReadToEnd()
Textbox1.Text = str

ご覧のとおり、ページ全体を取得していますが、特定のタグまたはクラス名の要素が必要です。

どんな助けでも大歓迎です。

4

1 に答える 1

0

Html Agility Packを使用してHTMLを解析できます。

例: (開始するには十分なはずです)

Dim html = <html>
                <div>
                    <div class="abc" style="margin-top:-187px;"><strong>1111</strong></div>
                    <div class="abc" style="margin-top:-150px;"><strong>2222</strong></div>
                    <div class="abc" style="margin-top:-114px;"><strong>3333</strong></div>
                    <div class="abc" style="margin-top:-77px;"><strong>4444</strong></div>
                    <div class="abc" style="margin-top:-42px;"><strong>5555</strong></div>
                </div>
            </html>
            
Dim htmlDoc = new HtmlAgilityPack.HtmlDocument()

htmlDoc.LoadHtml(html.ToString())

For Each node In htmlDoc.DocumentNode.SelectNodes("//div[@class='abc']//strong")
    Console.WriteLine(node.InnerText.ToString())
Next

結果:

1111
2222
3333
4444
5555

于 2013-10-01T15:03:01.890 に答える