0

動作するコードがありますが、これによりサイトからすべてのリンクが抽出されます。

    strReg = "<a\s+href\s*=\s*""?([^"" >]+)""?>(.+)</a>"
    Dim reg As New Regex(strReg, RegexOptions.IgnoreCase)

特定の URL のみを検索するようにコードを変更したいと考えています。たとえば、/test/ を含む URL のみを抽出したいとします。私のプログラムは、単語 /test/ を含むリンクのみを表示する必要があります。

お気に入り:

http://www.website.com/sample/test/
http://www.website.com/test/

正規表現コードで何を変更すればよいですか? 前もって感謝します。


ここに私の更新された作業コードがあります:

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("/test/") Then
        ListBox1.Items.Add(att.Value)
    End If
Next

/test/ を含むすべての URL が表示されるようになりましたが、Google 検索結果から URL を抽出したいと考えています。出来ますか?

4

2 に答える 2

2

Google 検索結果で、リンクを含む要素を見つける必要があります。たとえば、以下はciteドキュメントからノードを選択します。

For Each link As HtmlNode In htmlDoc.DocumentNode.SelectNodes("//cite")
    If link.InnerText.Contains("/test/") Then
        ListBox1.Items.Add(link.InnerText)
    End If
Next
于 2013-08-15T08:14:11.670 に答える