我将创建一个在VB.NET中显示网页排名的工具 为此,我使用
Dim str As String = New WebClient().DownloadString(("http://www.alexa.com/siteinfo/" + TextBox1.Text))
我只想要在textbox1.text
就像这里一样,我提供example.com来检查其Alexa全球排名:
我只需要在VB表单中显示全局排名。
答案 0 :(得分: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
此代码需要更好的错误处理,但我想这可以作为概念证明。
UPD。关于它是如何工作的一些话:
上面的代码使用正则表达式(请查看此link开始)来解析网页并提取所需的值。
在您提供的屏幕截图中,可以看到排名存储在html <a>
标记中,我通过其href属性标识,因为它是页面上唯一的<a>
标记,其{ {1}}属性以字符串“/ siteowners / certify”开头。因此,我的正则表达式匹配该标记的内部文本并将其提取到匹配组中。