Как оптимально распарсить большую HTML страницу и получить нужные данные - C#

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

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

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html dir="ltr">
<head>
<title>фото.галерея | На других посмотреть и себя показать!</title>
<meta http-equiv="content-type" content="text/html; charset=windows-1251">
<meta name="description" content="фото.галерея | На других посмотреть и себя показать!">
<meta name="keywords" content="">
<meta name="robots" content="index,follow">
<meta name="revisit-after" content="10 days">
<meta http-equiv="imagetoolbar" content="no">
<link rel="stylesheet" href="css/lightbox.css" type="text/css" media="screen" />
<link rel="stylesheet" href="./templates/default/style.css?8" type="text/css">
<!--[if IE]><link rel="stylesheet" type="text/css" href="./templates/default/ie.css" media="all" /><![endif]-->
 <link rel="icon" type="image/png" href="./icon.png" />
<script language="javascript" type="text/javascript">
<!--
 
  var captcha_reload_count = 0;
    var captcha_image_url = "./captcha.php";
  function new_captcha_image() {
    if (captcha_image_url.indexOf('?') == -1) {
          document.getElementById('captcha_image').src= captcha_image_url+'?c='+captcha_reload_count;
        } else {
          document.getElementById('captcha_image').src= captcha_image_url+'&c='+captcha_reload_count;
        }
 
    document.getElementById('captcha_input').value="";
    document.getElementById('captcha_input').focus();
    captcha_reload_count++;
  }
 
// -->
</script>
<script type="text/javascript" src="js/detailsfunc.js"></script>
<script type="text/javascript" src="js/jquery-1.7.2.min.js"></script>
<script type="text/javascript" src="js/prototype.js"></script> 
<script type="text/javascript" src="js/scriptaculous.js?load=effects,builder"></script>
<script type="text/javascript" src="js/lightbox.js"></script>
<script type="text/javascript" src="highslide/highslide-with-html.js"></script>
<link rel="stylesheet" type="text/css" href="highslide/highslide.css" />
<script type="text/javascript">
    hs.graphicsDir = 'highslide/graphics/';
    hs.outlineType = 'rounded-white';
    hs.showCredits = false;
    hs.wrapperClassName = 'draggable-header';
        hs.align = 'center';
</script>
<link rel="alternate" type="application/rss+xml" title="RSS Feed: фото.галерея | На других посмотреть и себя показать! (Новые )" href="http://gallery.pitnet.ru/rss.php?action=images">
</head>
<body >
<table width="100%" border="0" cellpadding="0" cellspacing="0">
<tr>
<td class="outl"></td>
<td width="1002px">
<table width="100%" border="0" cellpadding="0" cellspacing="0"><td>
<!--ads_zone 1000x90 <embed src="ads/ads_1002x90_kino.swf" quality="high" bgcolor="#000" width="1000" height="90">-->
<table width="1002px" height="150px" border="0" cellpadding="0" cellspacing="0" class="shapka"><td>
<div class="na_8_marta"></div>
<div class="logo"><div id="zima"></div><div id="ngod"></div><div id="serd"></div><div id="zvezda"></div><div id="flo"></div><a href="/" alt="фото.галерея | photo.gallery | Фотографируем, общаемся, объединяемся!" title="фото.галерея | photo.gallery | Фотографируем, общаемся, объединяемся!"><img src="./templates/default/images/gall_sep.gif"></a></div>
<div class="adszone">
<!--первомайские шары-->  <div class="balmay"></div> <!--end первомайские шары-->
<!-- <a href="http://gallery.pitnet.ru/advanced/estetiq/estetiq.php"><img src="./ads/fraim.gif"></a> --> 
<div style="position: relative; float: right; right: 5px;">
<a href='http://tvmasterskaya.pitnet.ru/'><img src='ads/ads_250x90_tvm.jpg'  /></a>
</div>
<!-- <script language="JavaScript" type="text/javascript"> 
function randomize(min,max) {return((Math.ceil(Math.random() * (max - min + 1) + min - 1))+"")} 
document.write('<iframe width="250" height="90" src="ads/shapka25090_#id.html" frameborder="0" scrolling="no" ></iframe>'.replace(/#id/i,randomize(1,2))) 
</script> -->
<!-- 
<a href='http://tvmasterskaya.pitnet.ru/'><img src='ads/ads_250x90_tvm.jpg'  /></a>
 --></div>
</td></table></td>
<tr>
<td>
<table width="100%" border="0" cellpadding="10" cellspacing="0">
<tr>
<td width="32%" valign="top" class="lb">
<table width="100%" border="0" cellpadding="0" cellspacing="0">
<td class="bz">Фото.галерея</td>
<tr>
<td class="bc"><b>Im_CSharp</b><br />
<br />
<div class="loginfo1">
<li class="bred"><a href="rules">Правила фото.галереи</a></li>
<li class="bred"><a href="faq">Раздел помощи</a></li>
<li><b><a href="complaint">Книга отзывов и предложений</a></b></li>
<li><a href="./member.php?action=editprofile">Настройка профиля</a></li>
<li><a href="search.php">Поиск фотографий</a></li>
<li><a href="phototop">Лучшие фотографии</a></li>
<li><b><a href="search?search_new_images">Новые фотографии</a></b></li>
<li><b><a href="./lightbox.htm">Мое избранное</a></b></li>
<li><b><a href="./uid26353">Мой фотоальбом</a></b></li>
<li><b><a href="uploads">Загрузить фотографию</a></b></li>
</div>
 
<div class="loginfo2">
<li><span class="tliul"><b>Личные сообщения</b></span></li>
<ul><li><a href="./pm.php?action=inbox" title="Всего сообщений: 0">Входящие</a><span class="tliul">:</span> <span class="tliulb">0</span></li>
<li><a href="./pm.php?action=sentbox" title="Всего сообщений: 0">Отправленные</a><span class="tliul">:</span> <span class="tliulb">0</span></li>
<li><a href="./pm.php?action=outbox" title="Всего сообщений: 0">Исходящие</a><span class="tliul">:</span> <span class="tliulb">0</span></li>
<li><a href="./pm.php?action=new">Новое сообщение</a></li><div class="tliul">У Вас <b><a href="./pm.php">0</a></b> новых входящих сообщений.</div></ul>
</div>
<div class="loginfo1">
<li><b><a href="comments_all.php">Новые комментарии</a></b></li>
<li><b><a href="./member.php?action=showcomments&amp;user_id=26353">Мои комментарии</a></b></li>
<li><b><a href="./member.php?action=readcomments">Комментарии к моим фото: <span class="bred2">0</span></a></b></li>
<li><a href="./logout.php">Выйти</a></li>
</div>
<div class="menuha">
<a href="search?search_new_images"><img src="./templates/default/images/bnew.gif" border="0" alt="Новые фотографии" title="Новые фотографии" width="90px" height="30px"></a>
<a href="comments_all.php"><img src="./templates/default/images/bcom.gif" border="0" alt="Новые комментарии" title="Новые комментарии" width="90px" height="30px"></a>
<a href="uploads"><img src="./templates/default/images/bup.gif" border="0" alt="Загрузить фотографию" title="Загрузить фотографию" width="90px" height="30px"></a>
<a href="articles.php"><img src="./templates/default/images/bart.gif" border="0" alt="Статьи по фотографии" title="Статьи по фотографии" width="90px" height="30px"></a>
<a href="victory"><img src="./templates/default/images/fpobed.gif" border="0" alt="Победители" title="Победители" width="90px" height="30px"></a>
</div></td>
<tr>
<td class="bz2">На правах рекламы</td>
<tr>
<td class="bc_ads"><img src="ads/ads250x200_next.jpg" border="0"></td>
<tr>
<td class="bz">Кто в on-line</td>
<tr>
<td class="bc">Всего: <b>46</b> | Зарегистрированных: <b>42</b> | Скрытых: <b>5</b> | Гостей: <b>4</b>
<div class="bordt"><br /><a href="./uid346">BratOk</a>, <a href="./uid664">MEGABOSS</a>, <a href="./uid1532">yuriytimofeev</a>, <a href="./uid5356">nala</a>, <a href="./uid6936">_For_you_</a>, <a href="./uid9104">BrAbUs</a>, <a href="./uid9392">twig</a>, <a href="./uid10238">Abbey</a>, <a href="./uid11194">Naxeraa</a>, <a href="./uid11459">funnyman</a>, <a href="./uid12008">nelyaaa</a>, <a href="./uid12152">.::Recke::.</a>, <a href="./uid13036">uKKK</a>, <a href="./uid13192">out_tonight</a>, <a href="./uid15772">Charice</a>, <a href="./uid16328">Temira</a>, <a href="./uid17006">КтО-То</a>, <a href="./uid17638">чао</a>, <a href="./uid17848">honeyed</a>, <a href="./uid17943">Rado9013</a>, <a href="./uid18155">ПozaRezZ</a>, <a href="./uid18305">LuckyGinger</a>, <a href="./uid18460">Aristokrat</a>, <a href="./uid18750">BaLTo</a>, <a href="./uid21072">Nneka</a>, <a href="./uid21289">CMEPTb</a>, <a href="./uid21475">_Мерси_</a>, <a href="./uid21918">Polinka</a>, <a href="./uid22208">Vitan</a>, <a href="./uid24139">pina</a>, <a href="./uid24897">буратино</a>, <a href="./uid25036">Хильд</a>, <a href="./uid25521">sss___sss</a>, <a href="./uid25863">ltdxtyrf</a>, <a href="./uid26327">Kriskiskis</a>, <a href="./uid26353">Im_CSharp</a>, <a href="./uid26363">анастасия</a></div><div class="bordt"><br /><b>Сегодня поздравляем:</b><br /><br /><a href="./uid24176">79248544231</a>, <a href="./uid26085">AnnA83</a>, <a href="./uid14734">anzor</a>, <a href="./uid20569">Banana_Moon</a>, <a href="./uid23339">com</a>, <a href="./uid21551">Crazy_Art</a>, <a href="./uid20145">ginger</a>, <a href="./uid15627">Goshan</a>, <a href="./uid16888">ничка</a>, <a href="./uid17629">mcnasty</a>, <a href="./uid7803">mimio</a>, <a href="./uid23812">nerka67</a>, <a href="./uid15960">nico</a>, <a href="./uid19533">vagon</a>, <a href="./uid17116">vagona</a></div></td>
</table>
</td>
<td width="68%" valign="top" class="rb"><table width="100%" border="0" cellpadding="0" cellspacing="0">
  <td>
 <table width="100%" border="0" cellpadding="0" cellspacing="0">
   <td class="bzb2"><a href="./search?search_good_images" class="whitelink">Хорошие фотографии</a> | <a href="./search?search_new_images" class="whitelink">Все фотографии</a></td>
   <tr>
     <td class="bcb"><table width="100%" border="0" cellpadding="5" cellspacing="1"><tr class="imagerow1">
<td width="25%" valign="top">
<div class="nimages"><img src="./templates/default/images/clock.gif" width="10" height="10"> <span class="dte">30.06.2012 в 22:06</span><br /><br /><a href="./photo98040"><img src="./data/thumbnails/69/photo_1340964389.jpg" border="0" width="140" height="139" alt="Фотосушка" title="Фотосушка" /></a><br /><br />
<b>Фотосушка</b><br /><a href="./uid2235">drs</a></div>
</td>
<td width="25%" valign="top">
<div class="nimages"><img src="./templates/default/images/clock.gif" width="10" height="10"> <span class="dte">30.06.2012 в 08:00</span><br /><br /><a href="./photo98054"><img src="./data/thumbnails/57/photo_1341000041.jpg" border="0" width="140" height="93" alt="***" title="***" /></a><br /><br />
<b>***</b><br /><a href="./uid6424">ivankislov</a></div>
</td>
<td width="25%" valign="top">
<div class="nimages"><img src="./templates/default/images/clock.gif" width="10" height="10"> <span class="dte">30.06.2012 в 00:58</span><br /><br /><a href="./photo98051"><img src="./data/thumbnails/77/photo_1340974722.jpg" border="0" width="140" height="62" alt="Конфетно-букетное :)" title="Конфетно-букетное :)" /></a><br /><br />
<b>Конфетно-букетное :)</b><br /><a href="./uid11973">Ambi</a></div>
</td>
<td width="25%" valign="top">
<div class="nimages"><img src="./templates/default/images/clock.gif" width="10" height="10"> <span class="dte">30.06.2012 в 00:36</span><br /><br /><a href="./photo98050"><img src="./data/thumbnails/19/photo_1340973402.jpg" border="0" width="140" height="140" alt="*" title="*" /></a><br /><br />
<b>*</b><br /><a href="./uid16697">eugenetrufanov</a></div>
</td>
</tr>
<tr class="imagerow1">
<td width="25%" valign="top">
<div class="nimages"><img src="./templates/default/images/clock.gif" width="10" height="10"> <span class="dte">30.06.2012 в 00:12</span><br /><br /><a href="./photo98048"><img src="./data/thumbnails/19/photo_1340971966.jpg" border="0" width="140" height="140" alt="*" title="*" /></a><br /><br />
<b>*</b><br /><a href="./uid16697">eugenetrufanov</a></div>
</td>
<td width="25%" valign="top">
<div class="nimages"><img src="./templates/default/images/clock.gif" width="10" height="10"> <span class="dte">29.06.2012 в 23:16</span><br /><br /><a href="./photo98044"><img src="./data/thumbnails/15/photo_1340968568.gif" border="0" width="140" height="92" alt="Гифка" title="Гифка" /></a><br /><br />
<b>Гифка</b><br /><a href="./uid4638">triller</a></div>
</td>
<td width="25%" valign="top">
<div class="nimages"><img src="./templates/default/images/clock.gif" width="10" height="10"> <span class="dte">29.06.2012 в 22:57</span><br /><br /><a href="./photo98043"><img src="./data/thumbnails/77/photo_1340967469.jpg" border="0" width="140" height="140" alt="Кружечки :)" title="Кружечки :)" /></a><br /><br />
<b>Кружечки :)</b><br /><a href="./uid11973">Ambi</a></div>
</td>
<td width="25%" valign="top">
<div class="nimages"><img src="./templates/default/images/clock.gif" width="10" height="10"> <span class="dte">29.06.2012 в 22:19</span><br /><br /><a href="./photo98042"><img src="./data/thumbnails/61/photo_1340965162.jpg" border="0" width="105" height="140" alt="Анапа" title="Анапа" /></a><br /><br />
<b>Анапа</b><br /><a href="./uid8761">trojan</a></div>
</td>
</tr>
</table>
</td>
   </table>
   <br /><a href="photo98040" target="blank_"><img src="ads/ads_660x90_sushka.jpg" border="0"></a><br />
<!--news-->
<br />
<table width="100%" border="0" cellpadding="0" cellspacing="0">
      <tr>
        <td class="bzb">Что нового?</td>
      </tr>
      <tr>
        <td class="bcb_info"><table width="100%" border="0" cellpadding="5" cellspacing="1"><tr>
<td width="100%" valign="top">
<b>Фотосушка</b><br /><span class="newsb">Автор: <b>AlNikonov</b> | 29.06.2012 в 22:36</span>
</td>
</tr>
<tr>
<td width="100%" valign="top" class="newsbottom">8 июля в 19.00 в Сквере блогеров, площадь Горького (сквер 70-е Магадана)<br />
Приглашаются все желающие! При себе иметь собственные фотографии любого размера. <br />
На обратной стороне подпись автора и телефон по желанию.<br />
Веревку и прищепки с собой нести НЕ НАДО!<br />
Каждый посетитель фотовыставки «Сушка» может стать ее участником, на это и рассчитана выставка. На натянутых веревках будут развешаны фотографии, любой пришедший сможет забрать понравившуюся, а взамен повесить свое творение. Общение, знакомства.<br/><br/>
</td>
</tr>
</table>
<a href="news.php"><u class="undred">Архив новостей</u></a></td>
      </tr>
    </table>
<!--news end-->
</td>
  <tr>
    <td><br /><table width="100%" border="0" cellpadding="0" cellspacing="0">
      <td class="bzb2">Фото.категории</td>
      <tr>
        <td class="bcb">
<table width="100%" border="0" cellpadding="0" cellspacing="0">
<tr>
<td valign="top" width="34%">
<table border="0" cellpadding="2" cellspacing="2">
<tr>
<td valign="top">
<span class="cat_pics"><a href="/section2"><img src="data/catpic/2.jpg" width="35" height="35" title="Девушки" alt="Девушки" align="left" /></a></span><span class="cater"><a href=./section2>Девушки</a></span>
<span class="new"> +47</span><br />
<span class="opisan">Предприимчивые молодые люди подыскивают себе жен-красавиц в коридорах этой галереи</span><br />
</td>
</tr>
<tr>
<td valign="top">
<span class="cat_pics"><a href="/section3"><img src="data/catpic/3.jpg" width="35" height="35" title="Парни" alt="Парни" align="left" /></a></span><span class="cater"><a href=./section3>Парни</a></span>
<span class="new"> +10</span><br />
<span class="opisan">Предприимчивые девушки часто стремятся найти здесь сильное мужское плечо (:</span><br />
</td>
</tr>
<tr>
<td valign="top">
<span class="cat_pics"><a href="/section5"><img src="data/catpic/5.jpg" width="35" height="35" title="Детский мир" alt="Детский мир" align="left" /></a></span><span class="cater"><a href=./section5>Детский мир</a></span>
<span class="new"> +12</span><br />
<span class="opisan">Дети — цветы жизни. Даешь букет! (:</span><br />
</td>
</tr>
<tr>
<td valign="top">
<span class="cat_pics"><a href="/section70"><img src="data/catpic/70.jpg" width="35" height="35" title="Семья" alt="Семья" align="left" /></a></span><span class="cater"><a href=./section70>Семья</a></span>
<span class="new"> +3</span><br />
<span class="opisan">Папа, мама, я — крепкая семья!</span><br />
</td>
</tr>
<tr>
<td valign="top">
<span class="cat_pics"><a href="/section6"><img src="data/catpic/6.jpg" width="35" height="35" title="Гламур" alt="Гламур" align="left" /></a></span><span class="cater"><a href=./section6>Гламур</a></span>
<span class="new"> +1</span><br />
<span class="opisan">Необычно. Ярко. Изысканно. А иногда просто и со вкусом</span><br />
</td>
</tr>
<tr>
<td valign="top">
<span class="cat_pics"><a href="/section47"><img src="data/catpic/47.jpg" width="35" height="35" title="Портрет" alt="Портрет" align="left" /></a></span><span class="cater"><a href=./section47>Портрет</a></span>
<span class="new"> +4</span><br />
<span class="opisan">Если интеллект собеседника впечатляет, одно воззрение лица может приносить удовольствие</span><br />
</td>
</tr>
<tr>
<td valign="top">
<span class="cat_pics"><a href="/section63"><img src="data/catpic/63.jpg" width="35" height="35" title="Свадебное фото" alt="Свадебное фото" align="left" /></a></span><span class="cater"><a href=./section63>Свадебное фото</a></span>
<span class="new"> +2</span><br />
<span class="opisan">Она пела, она плясала</span><br />
</td>
</tr>
<tr>
<td valign="top">
<span class="cat_pics"><a href="/section4"><img src="data/catpic/4.jpg" width="35" height="35" title="Весёлая компания" alt="Весёлая компания" align="left" /></a></span><span class="cater"><a href=./section4>Весёлая компания</a></span>
<span class="new"> +3</span><br />
<span class="opisan">Ты и твои друзья на одном фото во время отдыха, развлечений или работы</span><br />
</td>
</tr>
<tr>
<td valign="top">
<span class="cat_pics"><a href="/section65"><img src="data/catpic/65.jpg" width="35" height="35" title="Видео" alt="Видео" align="left" /></a></span><span class="cater"><a href=./section65>Видео</a></span>
<span class="new"> +2</span><br />
<span class="opisan">Здесь каждый может похвастаться своим художественным фильмом, или красивым слайд-шоу</span><br />
</td>
</tr>
<tr>
<td valign="top">
<span class="cat_pics"><a href="/section7"><img src="data/catpic/7.jpg" width="35" height="35" title="Животные" alt="Животные" align="left" /></a></span><span class="cater"><a href=./section7>Животные</a></span>
<span class="new"> +26</span><br />
<span class="opisan">Кто сказал, что животные не любят фотосессии?</span><br />
</td>
</tr>
<tr>
<td valign="top">
<span class="cat_pics"><a href="/section10"><img src="data/catpic/10.jpg" width="35" height="35" title="Пейзажи" alt="Пейзажи" align="left" /></a></span><span class="cater"><a href=./section10>Пейзажи</a></span>
<span class="new"> +19</span><br />
<span class="opisan">Художественные фото панорам и пейзажей</span><br />
</td>
</tr>
</table></td>
<td valign="top" width="34%" class="catbgcolor">
<table border="0" cellpadding="2" cellspacing="2">
<tr>
<td valign="top">
<span class="cat_pics"><a href="/section50"><img src="data/catpic/50.jpg" width="35" height="35" title="Природа" alt="Природа" align="left" /></a></span><span class="cater"><a href=./section50>Природа</a></span>
<span class="new"> +24</span><br />
<span class="opisan">Любишь природу, которая нас окружает?</span><br />
</td>
</tr>
<tr>
<td valign="top">
<span class="cat_pics"><a href="/section61"><img src="data/catpic/61.jpg" width="35" height="35" title="Путешествия" alt="Путешествия" align="left" /></a></span><span class="cater"><a href=./section61>Путешествия</a></span>
<span class="new"> +8</span><br />
<span class="opisan">Я там был, пиво пил...</span><br />
</td>
</tr>
<tr>
<td valign="top">
<span class="cat_pics"><a href="/section41"><img src="data/catpic/41.jpg" width="35" height="35" title="Макро" alt="Макро" align="left" /></a></span><span class="cater"><a href=./section41>Макро</a></span>
<span class="new"> +12</span><br />
<span class="opisan">Вооружаемся оптикой — и в путь! Рассмотрим микро-мир в макро?</span><br />
</td>
</tr>
<tr>
<td valign="top">
<span class="cat_pics"><a href="/section42"><img src="data/catpic/42.jpg" width="35" height="35" title="Натюрморт" alt="Натюрморт" align="left" /></a></span><span class="cater"><a href=./section42>Натюрморт</a></span>
<br />
<span class="opisan">Пробуем себя в роли продвинутых фотографов. Накрываем скатерть и составляем предметы (:</span><br />
</td>
</tr>
<tr>

Решение задачи: «Как оптимально распарсить большую HTML страницу и получить нужные данные»

textual
Листинг программы
using System;
using GalleryAPI;
using HtmlAgilityPack;
 
namespace ConsoleTest
{
    class Program
    {
        public static void Main(string[] args)
        {
            HtmlDocument HTMLDoc = new HtmlDocument();
            HTMLDoc.LoadHtml(Needs.Autorization());
            var node = HTMLDoc.DocumentNode.SelectSingleNode(@"/html/body/table/tbody/tr/td[2]/table/tbody/tr[2]/td/table/tbody/tr/td/table/tbody/tr[2]/td/div[2]/ul/li/span[2]");
            Console.Write(node.InnerText);
            Console.ReadLine();
        }
    }
}

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


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

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

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