RegEx: Определить значение тега Title HTML-страницы - C#
Формулировка задачи:
Господа, добрый вечер. Прошу помочь в одной функции:
Подключаю System.Net и System.Text.RegularExpressions.
Далее мне необходимо в функции определить значение тега Title HTML-страницы, URL которой я передаю на вход функции.
Пытаюсь сделать следующим образом:
При проверке определил, что не попадаю в match.Success.
Не могли бы вы помочь с двумя вопросами:
1) Как извлечь значение между тегами <Title> </Title>
2) Как его затем сохранить в значение string title
P.S. есть ли различие анализировать тег <TITLE> или <Title>
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 существует и действителен }
Решение задачи: «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; } } }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д