Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/matlab/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Vb.net 显示网站的特定部分_Vb.net_Webclient_Vb.net 2010_Alexa - Fatal编程技术网

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 =

我将创建一个在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
这段代码需要更好的错误处理,但我想它可以作为概念证明

UPD。关于它是如何工作的:

上面的代码使用正则表达式(请看一下以开始)解析网页并提取所需的值


在您提供的屏幕截图上,可以看到列组存储在html
标记中,我通过其href属性来识别,因为它是页面上唯一的
标记,其
href
属性以字符串“/siteowners/certifite”开头。因此,我的正则表达式匹配该标记的内部文本,并将其提取到匹配组中。

能否解释其工作原理…?@Amitkumar请查看答案的更新。如果您将我的答案标记为正确,以防它解决您的问题,我也将不胜感激。谢谢,但我有一个问题要提取24006的值
Global rank 8,893
Usa rank 10,060