.NET 4.x Парсинг Html страниц - C#
Формулировка задачи:
У меня такой вопрос. Нужно прпасит исходный html кодстраницы и вытащить текст например между тегами <title></title>
Решение задачи: «.NET 4.x Парсинг Html страниц»
textual
Листинг программы
using System;
using System.IO;
using System.Net;
using System.Text.RegularExpressions;
namespace ConsoleApplicationTest {
public static class Program {
private static void Main() {
// Загружем страницу
string data = GetHtmlPageText( "http://ya.ru/" );
// Тег для поиска, ищем теги <a></a>
string tag = "a";
string pattern = string.Format( @"\<{0}.*?\>(?<tegData>.+?)\<\/{0}\>", tag.Trim() );
// \<{0}.*?\> - открывающий тег
// \<\/{0}\> - закрывающий тег
// (?<tegData>.+?) - содержимое тега, записываем в группу tegData
Regex regex = new Regex( pattern, RegexOptions.ExplicitCapture );
MatchCollection matches = regex.Matches( data );
foreach ( Match matche in matches ) {
Console.WriteLine( matche.Value );
Console.WriteLine( "Содержание:" );
Console.WriteLine( matche.Groups[ "tegData" ].Value );
Console.WriteLine( "---------------------------" );
}
Console.ReadKey();
}
public static string GetHtmlPageText( string url ) {
WebClient client = new WebClient();
using ( Stream data = client.OpenRead( url ) ) {
using ( StreamReader reader = new StreamReader( data ) ) {
return reader.ReadToEnd();
}
}
}
}
}