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