Получить все ссылки и заголовки с сайта - C#

Узнай цену своей работы

Формулировка задачи:

Здравствуйте, есть задание: На вход программа получает адрес веб-сайта. Необходимо вытащить все ссылки и заголовок для каждой ссылки, игнорируя перекрестные ссылки и исключать повторяющиеся адреса и занести все в TreeView. Подскажите, как это реализовать? Как я понял сначала вытащить html код страницы, через регулярные выражения вытащить ссылки и заголовки страниц. регулярка для ссылок: string hrefPattern = @"(\b\w+:\/\/\w+((\.\w)*\w+)*\.\w{2,4})"; и заголовка: string titlePattern = @"(?<=<title>)(.*)(?=</title>)"; Но как мне поступить с перекрестными и повторными ссылками? Пока есть только это:
Листинг программы
  1. public string getResp(string url)
  2. {
  3. string content;
  4. HttpWebRequest req;
  5. HttpWebResponse resp;
  6. req = (HttpWebRequest)WebRequest.Create(url);
  7. resp = (HttpWebResponse)req.GetResponse();
  8. StreamReader sr = new StreamReader(resp.GetResponseStream(), Encoding.GetEncoding("UTF-8"));
  9. content = sr.ReadToEnd();
  10. sr.Close();
  11. richTextBox1.AppendText(content);
  12. return content;
  13. }
  14. public void GetAllLinks(string HTMLcode)
  15. {
  16. Regex hrefreg = new Regex(hrefPattern);
  17. MatchCollection matches = hrefreg.Matches(HTMLcode);
  18. richTextBox1.AppendText(match.Value); // Пока не знаю как добавить в TreeView вместе с заголовком
  19. }
Подскажите как лучше реализовать это?

Решение задачи: «Получить все ссылки и заголовки с сайта»

textual
Листинг программы
  1. Uri address = new Uri("http://example.com/home.aspx"); // получим [url]http://example.com/home.aspx[/url]

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

11   голосов , оценка 3.818 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы