HTML Agility Pack - результаты оценки фильтра Href

c# html-agility-pack web-scraping

Вопрос

Я работаю над веб-скребком. В следующем тексте показаны результаты кода, приведенного в конце этого вопроса, который получает значения всех hrefs со страницы.

Я хочу получить значения, содержащие docid=

index.php? PageId = a45475a11ec72b843d74959b60fd7bd64556e8988583f

#

summary_of_documents.php

index.php? PageId = a45475a11ec72b843d74959b60fd7bd64579b861c1d7b

#

index.php? PageId = a45475a11ec72b843d74959b60fd7bd64579e0509c7f0 & apform = судебная

solutions.php? doctype = Решения / Подписанные резолюции и docid = 1263778435388003271 # sam

solutions.php? doctype = Решения / Подписанные Резолюции & docid = 12637789021669321156 # sam

? doctype = Решения / Подписанные Резолюции и год = 1986 и месяц = ​​Январь # глава

? doctype = Решения / Подписанные Резолюции & год = 1986 & month = Февраль # 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);


Лицензировано согласно: CC-BY-SA with attribution
Не связан с Stack Overflow
Является ли этот КБ законным? Да, узнайте, почему
Лицензировано согласно: CC-BY-SA with attribution
Не связан с Stack Overflow
Является ли этот КБ законным? Да, узнайте, почему