4

VB.NET で Web ページのランクを表示するツールを作成します。
そのために私は使用します

Dim str As String = New WebClient().DownloadString(("http://www.alexa.com/siteinfo/" + TextBox1.Text))

そして、私が提供したそのURLのグローバルランクが欲しいだけですtextbox1.text

ここのように、example.com を提供して、Alexa のグローバル ランクを確認します。

VB フォームにグローバル ランキング番号を表示するだけです。

4

1 に答える 1

0

Plzはこれを見てください:

Sub Main
    Dim str As String = New WebClient().DownloadString(("http://www.alexa.com/siteinfo/example.com"))

    Dim pattern = "a href=""/siteowners/certify.+?\>(?<rank>[0-9,]+?)\<\/a\>"
    Dim r = new Regex(pattern, RegexOptions.IgnoreCase)
    Dim m As Match = r.Match(str)
    If m.Success Then
        Debug.Print("Global rank " + m.Groups(1).ToString())
        m = m.NextMatch()
        Debug.Print("Usa rank " + m.Groups(1).ToString())       
    Else
        Debug.Print("Failed")
    End If
End Sub

私のコンピューターの答えは

Global rank 8,893
Usa rank 10,060

このコードにはより良いエラー処理が必要ですが、概念実証としては問題ないと思います。

アップデート。それがどのように機能するかについてのいくつかの言葉:

上記のコードは、正規表現を使用して (開始するには、このリンクを参照してください)、Web ページを解析し、必要な値を抽出します。

あなたが提供したスクリーンショットでは、属性が文字列「/siteowners/certify」で始まるページ上の唯一のタグであるため、ランクが html タグに格納されていることがわかります<a>。これは、href 属性によって識別されます。したがって、私の正規表現はそのタグの内部テキストに一致し、それを一致グループに抽出します。<a>href

于 2014-01-13T12:44:04.683 に答える