HTMLアジャイルパック - Href値のフィルタリング結果

c# html-agility-pack web-scraping

質問

私はウェブスクレーパーに取り組んでいます。次のテキストは、この質問の終わりに与えられたコードの結果を示しており、ページからすべてのHREFの値を取得します。

私は、 docid=

index.php?pageid = a45475a11ec72b843d74959b60fd7bd64556e8988583f

summary_of_documents.php

index.php?pageid = a45475a11ec72b843d74959b60fd7bd64579b861c1d7b

index.php?pageid = a45475a11ec72b843d74959b60fd7bd64579e0509c7f0&apform = judiciary

decision.php?doctype =意思決定/署名された決議&docid = 1263778435388003271#sam

decisions.php?doctype =決定/署名付きの解決策&ドキュメントID = 12637789021669321156#sam

?doctype =決定/署名された解決策と年= 1986&month = 1月#head

?doctype =決定/署名された解決策と年= 1986&month = February#head

コードは次のとおりです:

        string url = urlTextBox.Text;
        string sourceCode = Extractor.getSourceCode(url);

        HtmlAgilityPack.HtmlDocument doc = new HtmlAgilityPack.HtmlDocument();
        doc.LoadHtml(sourceCode);
        List<string> links = new List<string>();

        if (links != null)
        {
            foreach (HtmlAgilityPack.HtmlNode nd in doc.DocumentNode.SelectNodes("//a[@href]"))
            {
                links.Add(nd.Attributes["href"].Value);
            }
        }
        else
        {
            MessageBox.Show("No Links Found");
        }

        if (links != null)
        {
            foreach (string str in links)
            {
                richTextBox9.Text += str + "\n";
            }
        }
        else
        {
            MessageBox.Show("No Link Values Found");
        }

これどうやってするの?

受け入れられた回答

なぜこれを置き換えないのですか?

links.Add(nd.Attributes["href"].Value);

これとともに:

if (nd.Attributes["href"].Value.Contains("docid="))
    links.Add(nd.Attributes["href"].Value);


Related

ライセンスを受けた: CC-BY-SA with attribution
所属していない Stack Overflow
このKBは合法ですか? はい、理由を学ぶ
ライセンスを受けた: CC-BY-SA with attribution
所属していない Stack Overflow
このKBは合法ですか? はい、理由を学ぶ