RegEx: Определить значение тега Title HTML-страницы - C#

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

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

Господа, добрый вечер. Прошу помочь в одной функции: Подключаю System.Net и System.Text.RegularExpressions. Далее мне необходимо в функции определить значение тега Title HTML-страницы, URL которой я передаю на вход функции. Пытаюсь сделать следующим образом:
public int WebPageExist(string url)
        {
            WebRequest webrequest;
            try
            {
                webrequest = WebRequest.Create(url);
            }
            catch
            {
                
                return 0; //url не существует
            }
            WebResponse webresponse = webrequest.GetResponse();
           // Match match=Regex.Match(url,@"<TITLE>\s*(.+?)\s*</TITLE>");
            Match match = Regex.Match(url, @"<TITLE>\w</TITLE>");
            if (match.Success)
            {
                string title = match.Groups[1].Value;
                if (title.Contains("Произошла ошибка")==true)
                {
                    return 1; //url существует но не действителен
                }
            }
            return 2; //url существует и действителен
 
        }
При проверке определил, что не попадаю в match.Success. Не могли бы вы помочь с двумя вопросами: 1) Как извлечь значение между тегами <Title> </Title> 2) Как его затем сохранить в значение string title P.S. есть ли различие анализировать тег <TITLE> или <Title>

Решение задачи: «RegEx: Определить значение тега Title HTML-страницы»

textual
Листинг программы
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
 
namespace Title_From_Html_document
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }
 
        private void button1_Click(object sender, EventArgs e)
        {
            WebBrowser webBrowser = new WebBrowser();
            webBrowser.Navigate(textBoxUrl.Text);
            webBrowser.ProgressChanged += new WebBrowserProgressChangedEventHandler(webBrowser_ProgressChanged);
            webBrowser.DocumentCompleted += new WebBrowserDocumentCompletedEventHandler(webBrowser_DocumentCompleted);
        }
 
        void webBrowser_ProgressChanged(object sender, WebBrowserProgressChangedEventArgs e)
        {
            progressBar1.Maximum = (int)e.MaximumProgress;
            progressBar1.Value = (int)e.CurrentProgress;
        }
 
        void webBrowser_DocumentCompleted(object sender, WebBrowserDocumentCompletedEventArgs e)
        {
            richTextBoxTitle.Text = (sender as WebBrowser).Document.Title;
        }
    }
}

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


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

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

12   голосов , оценка 3.833 из 5
Похожие ответы