Vb.net 显示网站的特定部分
我将创建一个在VB.NET中显示网页排名的工具。Vb.net 显示网站的特定部分,vb.net,webclient,vb.net-2010,alexa,Vb.net,Webclient,Vb.net 2010,Alexa,我将创建一个在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 =
为此,我使用
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
这段代码需要更好的错误处理,但我想它可以作为概念证明
UPD。关于它是如何工作的:
上面的代码使用正则表达式(请看一下以开始)解析网页并提取所需的值
在您提供的屏幕截图上,可以看到列组存储在html
标记中,我通过其href属性来识别,因为它是页面上唯一的
标记,其href
属性以字符串“/siteowners/certifite”开头。因此,我的正则表达式匹配该标记的内部文本,并将其提取到匹配组中。能否解释其工作原理…?@Amitkumar请查看答案的更新。如果您将我的答案标记为正确,以防它解决您的问题,我也将不胜感激。谢谢,但我有一个问题要提取24006的值
Global rank 8,893
Usa rank 10,060