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