Что нового

[RegExp] Извлечение текста из html кода

kosjachok

Новичок
Сообщения
30
Репутация
3
Помогите плиз составить RegExp для извлечения инфы из html кода (здесь кусок кода):
Код:
<table border="0" cellpadding="0" cellspacing="0" height="28" width="100%">
    <tbody><tr>
     <td align="left" valign="top" width="21"><img src="/templates/Solar/imgs/news_ugol4.gif" border="0" height="29" width="21"></td>
     <td background="/templates/Solar/imgs/news_verx.gif" width="79%"><font style="font-weight: 700; font-size: 8pt;" color="#686868"><b><a href="http://solar.vip/index.php?do=cat&amp;category=video">Видео</a> &raquo; <a href="http://solar.vip/index.php?do=cat&amp;category=hudvideo">Художественные фильмы</a> &raquo; <a href="http://solar.vip/index.php?do=cat&amp;category=boevid">Боевики</a></b></a>:От колыбели до могилы / Cradle 2 the Grave (2003/RUS/ENG) HDTVRip 720p</font></td>

     <td align="right" background="/templates/Solar/imgs/news_verx.gif" valign="middle" width="220">
      <table width="280"><tbody><tr><td>
    <p align="right"><font color="#686868">Автор: </font>
<a onclick="ShowProfile('_-SSRC-_', 'http://solar.vip/index.php?subaction=userinfo&amp;user=_-SSRC-_'); return false;" href="http://solar.vip/index.php?subaction=userinfo&user=_-SSRC-_">_-SSRC-_</a><font color="#686868"> - Сегодня, 19:56</font></p></td></tr></tbody></table></td>
     <td align="right" valign="top" width="21"><img src="/templates/Solar/imgs/news_ugol.gif" height="28" width="21"></td>
    </tr>
   </tbody></table>

  </td>
 </tr> 
 <tr>
  <td valign="top">
   <table border="0" cellpadding="0" cellspacing="0" width="100%">
    <tbody><tr>
     <td background="/templates/Solar/imgs/news_fon_1.gif" height="100%" width="21"> </td>
     <td> 
      <table border="0" cellpadding="0" cellspacing="0" width="100%">

       <tbody><tr>
        <td style="font-size: 10px; color: rgb(0, 0, 0); font-family: Verdana,Arial,Helvetica,sans-serif;">
    <font color="#686868">
<div id="news-id-1220935984" style="display:inline;"><div align="center"><!--TBegin--><a href="http://solar.vip/uploads/posts/2010-11/1290621255_1286564128_2.jpg" onclick="return hs.expand(this)" ><img src="/uploads/posts/2010-11/thumbs/1290621255_1286564128_2.jpg" alt='От колыбели до могилы / Cradle 2 the Grave (2003/RUS/ENG) HDTVRip 720p' title='От колыбели до могилы / Cradle 2 the Grave (2003/RUS/ENG) HDTVRip 720p'  /></a><!--TEnd--></div>

<div align="center"><b>Название: От колыбели до могилы
Оригинальное название: Cradle 2 the Grave
Год выхода: 2003
Жанр: боевик, экшн
Режиссер: Андржей Бартковяк
Роли озвучивали: Джет Ли, Энтони Андерсон, Марк Дакаскос, Келли Ху, Том Арнольд, Гэбриэлль Юнион, Майкл Джейс, Дрэг-Он, Пэйдж Херд, Паоло Сегэнти, Ричард Трэпп, Рон Йуан, Вун Янг Парк, Джонни Нгуйен</b></div>

<div align="center"><b>Качество: <!--colorstart:#006600--><span style="color:#006600"><!--/colorstart-->HDTVRip [720p]<!--colorend--></span><!--/colorend--></b></div></div>
</font>

</td>
       </tr>

       <tr>
        <td style="font-size: 10px; color: rgb(0, 0, 0); font-family: Verdana,Arial,Helvetica,sans-serif;">
<table bordert="0" width="100%">
  <tbody><tr>
    <td align="left"><font style="font-size: 8pt;" color="#686868"></font></td>
    <td align="right"><font style="font-size: 8pt;" color="#686868"> | <a id="fav-id-1220935984" href="http://solar.vip/index.php?do=favorites&amp;doaction=add&amp;id=1220935984"><img src="/templates/Solar/dleimages/plus_fav.gif" onclick="doFavorites('1220935984', 'plus'); return false;" title="Добавить новость в закладки" style="vertical-align: middle;border: none;" alt="" /></a> | Просмотров: 95 | <a href="http://solar.vip/index.php?newsid=1220935984#comment"> 
Комментариев</a>: 0 | <a href="http://solar.vip/index.php?newsid=1220935984">Подробнее</a> </font></td>

</tr>
</tbody></table></td>
       </tr>
      </tbody></table></td>
     <td background="/templates/Solar/imgs/news_fon.gif" height="100%" width="21"> </td>
    </tr>
   </tbody></table>
  </td>
 </tr>

 <tr>
  <td valign="top">
   <table border="0" cellpadding="0" cellspacing="0" width="100%">
    <tbody><tr>
     <td valign="top" width="21"><img src="/templates/Solar/imgs/news_ugol3.gif" height="18" width="21"></td>
     <td background="/templates/Solar/imgs/news_niz.gif" width="100%"> </td>
     <td valign="top" width="21"><img src="/templates/Solar/imgs/news_ugol2.gif" height="18" width="21"></td>
    </tr>

   </tbody></table>
  </td>
 </tr>  
</tbody></table>

<table bgcolor="#ffffff" border="0" cellpadding="0" cellspacing="0" width="100%">
 <tbody><tr>
  <td valign="top">
   <table border="0" cellpadding="0" cellspacing="0" height="28" width="100%">
    <tbody><tr>

     <td align="left" valign="top" width="21"><img src="/templates/Solar/imgs/news_ugol4.gif" border="0" height="29" width="21"></td>
     <td background="/templates/Solar/imgs/news_verx.gif" width="79%"><font style="font-weight: 700; font-size: 8pt;" color="#686868"><b><a href="http://solar.vip/index.php?do=cat&category=hudvideo">Художественные фильмы</a>, <a href="http://solar.vip/index.php?do=cat&category=komvid">Комедии</a></b></a>:Чудовище / L'Animal (1977) DVDRip</font></td>
     <td align="right" background="/templates/Solar/imgs/news_verx.gif" valign="middle" width="220">
      <table width="280"><tbody><tr><td>
    <p align="right"><font color="#686868">Автор: </font>
<a onclick="ShowProfile('michel', 'http://solar.vip/index.php?subaction=userinfo&amp;user=michel'); return false;" href="http://solar.vip/index.php?subaction=userinfo&user=michel">michel</a><font color="#686868"> - Сегодня, 18:26</font></p></td></tr></tbody></table></td>

     <td align="right" valign="top" width="21"><img src="/templates/Solar/imgs/news_ugol.gif" height="28" width="21"></td>
    </tr>
   </tbody></table>
  </td>
 </tr> 
 <tr>
  <td valign="top">
   <table border="0" cellpadding="0" cellspacing="0" width="100%">
    <tbody><tr>

     <td background="/templates/Solar/imgs/news_fon_1.gif" height="100%" width="21"> </td>
     <td> 
      <table border="0" cellpadding="0" cellspacing="0" width="100%">
       <tbody><tr>
        <td style="font-size: 10px; color: rgb(0, 0, 0); font-family: Verdana,Arial,Helvetica,sans-serif;">
    <font color="#686868">
<div id="news-id-1220935971" style="display:inline;"><div align="center"><!--dle_image_begin:http://solar.vip/uploads/posts/2010-11/1290612839_chudovische.jpg|--><img src="/uploads/posts/2010-11/1290612839_chudovische.jpg" alt="Чудовище / L&#039;Animal (1977) DVDRip" title="Чудовище / L&#039;Animal (1977) DVDRip"  /><!--dle_image_end--></div>

<b>Название:</b>  Чудовище
<b>Год выхода:</b> 1977
<b>Страна:</b> Франция, Cerito Films
<b>Режиссер:</b>  Клод Зиди
<b>Жанр:</b>  Комедия
<b>Продолжительность:</b> 01:36:17
<b>Перевод:</b> Профессиональный дубляж
<b>В ролях:</b>  Жан-Поль Бельмондо, Рэкуэл Уэлш, Марио Давид, Раймон Жером, Шарль Жерар, Жюльен Гийомар, Анри Женес, Альдо Маччоне, Дани Саваль

<b>Качество:</b> DVDRip</div>

</font>

</td>
       </tr>
       <tr>
        <td style="font-size: 10px; color: rgb(0, 0, 0); font-family: Verdana,Arial,Helvetica,sans-serif;">
<table bordert="0" width="100%">
  <tbody><tr>
    <td align="left"><font style="font-size: 8pt;" color="#686868"></font></td>
    <td align="right"><font style="font-size: 8pt;" color="#686868"> | <a id="fav-id-1220935971" href="http://solar.vip/index.php?do=favorites&amp;doaction=add&amp;id=1220935971"><img src="/templates/Solar/dleimages/plus_fav.gif" onclick="doFavorites('1220935971', 'plus'); return false;" title="Добавить новость в закладки" style="vertical-align: middle;border: none;" alt="" /></a> | Просмотров: 88 | <a href="http://solar.vip/index.php?newsid=1220935971#comment"> 

Комментариев</a>: 1 | <a href="http://solar.vip/index.php?newsid=1220935971">Подробнее</a> 
<span class="copy"><i>Отредактировано <font color="red"><b>ALEKC-1</b></font> - Сегодня, 18:44</i></span>
</font></td>
</tr>
</tbody></table></td>
       </tr>
      </tbody></table></td>
     <td background="/templates/Solar/imgs/news_fon.gif" height="100%" width="21"> </td>

    </tr>
   </tbody></table>
  </td>
 </tr>
 <tr>
  <td valign="top">
   <table border="0" cellpadding="0" cellspacing="0" width="100%">
    <tbody><tr>
     <td valign="top" width="21"><img src="/templates/Solar/imgs/news_ugol3.gif" height="18" width="21"></td>

     <td background="/templates/Solar/imgs/news_niz.gif" width="100%"> </td>
     <td valign="top" width="21"><img src="/templates/Solar/imgs/news_ugol2.gif" height="18" width="21"></td>
    </tr>
   </tbody></table>
  </td>
 </tr>  
</tbody></table>

<table bgcolor="#ffffff" border="0" cellpadding="0" cellspacing="0" width="100%">
 <tbody><tr>

  <td valign="top">
   <table border="0" cellpadding="0" cellspacing="0" height="28" width="100%">
    <tbody><tr>
     <td align="left" valign="top" width="21"><img src="/templates/Solar/imgs/news_ugol4.gif" border="0" height="29" width="21"></td>
     <td background="/templates/Solar/imgs/news_verx.gif" width="79%"><font style="font-weight: 700; font-size: 8pt;" color="#686868"><b><a href="http://solar.vip/index.php?do=cat&category=hudvideo">Художественные фильмы</a>, <a href="http://solar.vip/index.php?do=cat&category=komvid">Комедии</a>, <a href="http://solar.vip/index.php?do=cat&category=dravid">Драма</a></b></a>:Птицы Америки / Birds of America (2008) BDRip (720p)</font></td>
     <td align="right" background="/templates/Solar/imgs/news_verx.gif" valign="middle" width="220">

      <table width="280"><tbody><tr><td>
    <p align="right"><font color="#686868">Автор: </font>
<a onclick="ShowProfile('PAGAN', 'http://solar.vip/index.php?subaction=userinfo&amp;user=PAGAN'); return false;" href="http://solar.vip/index.php?subaction=userinfo&user=PAGAN">PAGAN</a><font color="#686868"> - Сегодня, 17:05</font></p></td></tr></tbody></table></td>
     <td align="right" valign="top" width="21"><img src="/templates/Solar/imgs/news_ugol.gif" height="28" width="21"></td>
    </tr>
   </tbody></table>
  </td>

 </tr> 
 <tr>
  <td valign="top">
   <table border="0" cellpadding="0" cellspacing="0" width="100%">
    <tbody><tr>
     <td background="/templates/Solar/imgs/news_fon_1.gif" height="100%" width="21"> </td>
     <td> 
      <table border="0" cellpadding="0" cellspacing="0" width="100%">
       <tbody><tr>

        <td style="font-size: 10px; color: rgb(0, 0, 0); font-family: Verdana,Arial,Helvetica,sans-serif;">
    <font color="#686868">
<div id="news-id-1220935957" style="display:inline;"><div align="center"><!--TBegin--><a href="http://solar.vip/uploads/posts/2010-11/1290610768_1.jpg" onclick="return hs.expand(this)" ><img src="/uploads/posts/2010-11/thumbs/1290610768_1.jpg" alt='Птицы Америки / Birds of America (2008) BDRip (720p)' title='Птицы Америки / Birds of America (2008) BDRip (720p)'  /></a><!--TEnd--></div>

<b>Год выхода:</b> 2008
<b>Жанр:</b> Комедия, драма
<b>Выпущено:</b> США 
<b>Режиссер:</b> Крэйг Лукас
<b>В ролях:</b> Мэттью Перри, Бен Фостер, Джиннифер Гудвин
<b>Перевод:</b> <!--colorstart:#3366FF--><span style="color:#3366FF"><!--/colorstart-->Многоголосый закадровый, R5<!--colorend--></span><!--/colorend-->
<b>Качество:</b> <!--colorstart:#3366FF--><span style="color:#3366FF"><!--/colorstart-->BDRip (720p)<!--colorend--></span><!--/colorend--></div>

</font>

</td>
       </tr>
       <tr>
        <td style="font-size: 10px; color: rgb(0, 0, 0); font-family: Verdana,Arial,Helvetica,sans-serif;">
<table bordert="0" width="100%">
  <tbody><tr>
    <td align="left"><font style="font-size: 8pt;" color="#686868"></font></td>
    <td align="right"><font style="font-size: 8pt;" color="#686868"> | <a id="fav-id-1220935957" href="http://solar.vip/index.php?do=favorites&amp;doaction=add&amp;id=1220935957"><img src="/templates/Solar/dleimages/plus_fav.gif" onclick="doFavorites('1220935957', 'plus'); return false;" title="Добавить новость в закладки" style="vertical-align: middle;border: none;" alt="" /></a> | Просмотров: 296 | <a href="http://solar.vip/index.php?newsid=1220935957#comment"> 

Комментариев</a>: 0 | <a href="http://solar.vip/index.php?newsid=1220935957">Подробнее</a> </font></td>
</tr>
</tbody></table></td>
       </tr>
      </tbody></table></td>
     <td background="/templates/Solar/imgs/news_fon.gif" height="100%" width="21"> </td>
    </tr>
   </tbody></table>

  </td>
 </tr>
 <tr>
  <td valign="top">
   <table border="0" cellpadding="0" cellspacing="0" width="100%">
    <tbody><tr>
     <td valign="top" width="21"><img src="/templates/Solar/imgs/news_ugol3.gif" height="18" width="21"></td>
     <td background="/templates/Solar/imgs/news_niz.gif" width="100%"> </td>

     <td valign="top" width="21"><img src="/templates/Solar/imgs/news_ugol2.gif" height="18" width="21"></td>
    </tr>
   </tbody></table>
  </td>
 </tr>  
</tbody></table>

<table bgcolor="#ffffff" border="0" cellpadding="0" cellspacing="0" width="100%">
 <tbody><tr>
  <td valign="top">

   <table border="0" cellpadding="0" cellspacing="0" height="28" width="100%">
    <tbody><tr>
     <td align="left" valign="top" width="21"><img src="/templates/Solar/imgs/news_ugol4.gif" border="0" height="29" width="21"></td>
     <td background="/templates/Solar/imgs/news_verx.gif" width="79%"><font style="font-weight: 700; font-size: 8pt;" color="#686868"><b><a href="http://solar.vip/index.php?do=cat&category=hudvideo">Художественные фильмы</a>, <a href="http://solar.vip/index.php?do=cat&category=komvid">Комедии</a></b></a>:Майор Пэйн / Major Payne (1995) HDTVRip 720p</font></td>
     <td align="right" background="/templates/Solar/imgs/news_verx.gif" valign="middle" width="220">
      <table width="280"><tbody><tr><td>
    <p align="right"><font color="#686868">Автор: </font>

<a onclick="ShowProfile('PAGAN', 'http://solar.vip/index.php?subaction=userinfo&amp;user=PAGAN'); return false;" href="http://solar.vip/index.php?subaction=userinfo&user=PAGAN">PAGAN</a><font color="#686868"> - Сегодня, 16:37</font></p></td></tr></tbody></table></td>
     <td align="right" valign="top" width="21"><img src="/templates/Solar/imgs/news_ugol.gif" height="28" width="21"></td>
    </tr>
   </tbody></table>
  </td>
 </tr> 
 <tr>
  <td valign="top">

   <table border="0" cellpadding="0" cellspacing="0" width="100%">
    <tbody><tr>
     <td background="/templates/Solar/imgs/news_fon_1.gif" height="100%" width="21"> </td>
     <td> 
      <table border="0" cellpadding="0" cellspacing="0" width="100%">
       <tbody><tr>
        <td style="font-size: 10px; color: rgb(0, 0, 0); font-family: Verdana,Arial,Helvetica,sans-serif;">
    <font color="#686868">
<div id="news-id-1220935955" style="display:inline;"><div align="center"><!--TBegin--><a href="http://solar.vip/uploads/posts/2010-11/1290608685_1.jpg" onclick="return hs.expand(this)" ><img src="/uploads/posts/2010-11/thumbs/1290608685_1.jpg" alt='Майор Пэйн / Major Payne (1995) HDTVRip 720p' title='Майор Пэйн / Major Payne (1995) HDTVRip 720p'  /></a><!--TEnd--></div>

<b>Год выхода:</b> 1995
<b>Жанр:</b> Комедия
<b>Выпущено:</b>  США
<b>Режиссер:</b> Ник Касл
<b>В ролях:</b> Дэймон Уайанс, Росс Бикелл, Скотт Бигелоу, Йода Блэйр
<b>Перевод:</b> <!--colorstart:#3366FF--><span style="color:#3366FF"><!--/colorstart-->Профессиональный (многоголосый,закадровый) СТС<!--colorend--></span><!--/colorend-->
<b>Качество:</b> <!--colorstart:#3366FF--><span style="color:#3366FF"><!--/colorstart-->HDTVRip  (720p)<!--colorend--></span><!--/colorend--></div>

</font>

</td>
       </tr>
       <tr>
        <td style="font-size: 10px; color: rgb(0, 0, 0); font-family: Verdana,Arial,Helvetica,sans-serif;">
<table bordert="0" width="100%">
  <tbody><tr>
    <td align="left"><font style="font-size: 8pt;" color="#686868"></font></td>
    <td align="right"><font style="font-size: 8pt;" color="#686868"> | <a id="fav-id-1220935955" href="http://solar.vip/index.php?do=favorites&amp;doaction=add&amp;id=1220935955"><img src="/templates/Solar/dleimages/plus_fav.gif" onclick="doFavorites('1220935955', 'plus'); return false;" title="Добавить новость в закладки" style="vertical-align: middle;border: none;" alt="" /></a> | Просмотров: 245 | <a href="http://solar.vip/index.php?newsid=1220935955#comment"> 

Комментариев</a>: 4 | <a href="http://solar.vip/index.php?newsid=1220935955">Подробнее</a> </font></td>
</tr>
</tbody></table></td>
       </tr>
      </tbody></table></td>
     <td background="/templates/Solar/imgs/news_fon.gif" height="100%" width="21"> </td>
    </tr>
   </tbody></table>
- в массив
- нужно извлечь название (От колыбели до могилы / Cradle 2 the Grave (2003/RUS/ENG)), дату новости (Сегодня, 19:56) и кол-во просмотров (91)
и так по всей странице...
 

r35p3ct

Продвинутый
Сообщения
228
Репутация
60
На конкретном примере работает:
Код:
#include 'array.au3'
$pars = StringRegExp(clipget(), "(?si)> - (.+?)<.*?alt=.(.+?).ti.*?Просмотров: (\d+)", 3)
_arrayDisplay($pars)
 
Автор
K

kosjachok

Новичок
Сообщения
30
Репутация
3
r35p3ct
Спасибо за ответ!
У меня на реальной страничке отрабатывает немного не корректно:

для большей наглядности сохранил веб страничку в тхт ...
 

r35p3ct

Продвинутый
Сообщения
228
Репутация
60
Код:
$pars = StringRegExp(clipget(), "(?si)> - (.+?)<.*?alt=.(.+?).\s?ti.*?Просмотров: (\d+)", 3)

Либо, судя по скрину:
Код:
$pars = StringRegExp(clipget(), "(?si)> - (.+?)<.*?alt=.(.+?).\s?src.*?Просмотров: (\d+)", 3)
 
Автор
K

kosjachok

Новичок
Сообщения
30
Репутация
3
Второй вариант сработал!
А можно ли ещё добавить захват ссылки новости?
Код:
| Просмотров: 133 | <a href="http://solar.vip/index.php?newsid=1220935971#comment">
можно в виде
Код:
http://solar.vip/index.php?newsid=1220935971
:smile:
Уже додумался )
Код:
$aNovosti = StringRegExp( $sHTML, "(?si)> - (.+?)<.*?alt=.(.+?).\s?src.*?Просмотров: (\d+)(?si)(?:.*?)?(https?:\/\/[\w.:]+\/?(?:[\w\/?&=.~;\-+!*_#%])*)", 3)


Спасибо за помощь!
 

r35p3ct

Продвинутый
Сообщения
228
Репутация
60
Код:
$pars = StringRegExp(clipget(), "(?si)> - (.+?)<.*?alt=.(.+?).\s?src.*?Просмотров: (\d+).*?href=.(http.+?)#c", 3)
 

gregaz

AutoIT Гуру
Сообщения
1 166
Репутация
299
Похоже так будет корректней :
Код:
$sText_HTML=ClipGet()
$sPattern='(?si)>:([^\)"]+?\)).+?\s-\s(.+?)<.+?\|.+?(\d+?)\s\|[^"]+?"([^#]+?)#'
$aRet=StringRegExp($sText_HTML,$sPattern,3)

Хотя можно и еще причесывать
 
Верх