使用htmlagility - vb.net过滤从网页中提取的链接

时间:2016-01-06 19:42:24

标签: html vb.net parsing html-parsing html-agility-pack

问题一:

我有一个用于提取具有特定内容(WebSource)的网页网址(/articles/)的程序

Dim links As New List(Of String)()
Dim htmlDoc As New HtmlAgilityPack.HtmlDocument()
htmlDoc.LoadHtml(WebSource)
For Each link As HtmlNode In htmlDoc.DocumentNode.SelectNodes("//a[@href]")
    Dim att As HtmlAttribute = link.Attributes("href")
    If att.Value.Contains("/articles/") Then
        links.Add(att.Value)
    End If
Next

是否可以在网址中搜索并按两个值过滤它们,例如在科技网站中我想要查找所有网址包含/articles/LG

问题二:

提取的网址不是完整的HTTP地址,例如我的一个结果是

/articles/car

而不是完整的地址,例如

http://website.com/articles/car

我该如何解决这个问题?

1 个答案:

答案 0 :(得分:1)

您现在正在检查 ONE 内容。要检查htmlagility中的多个项目,您可以使用多个if语句,如下所示

If att.Value.Contains("content1") Then
    If att.Value.Contains("content2") Then
        If att.Value.Contains("content3") Then
            links.Add(att.Value)
        End If
    End If
End If