Показать сообщение отдельно
  #1  
Старый 12.08.2012, 21:16
Аватар для Uniq!
Uniq! Uniq! вне форума
Местный
 
Регистрация: 29.09.2010
Сообщения: 539
Версия Delphi: Delphi XE3
Репутация: 374
По умолчанию Многократный Парсинг Блоков

Использую: TPerlRegEx

Задача: разобрать конечное количество однообразных блоков страницы.

Пример блока:

Код HTML:
<tr class="even"> <td align="right">1</td> <td><a href="/m13/en/1.html">Ajani, Caller of the Pride</a></td> <td>Planeswalker — Ajani (Loyalty: 4)</td> <td>1WW</td> <td>Mythic Rare</td> <td>D. Alexander Gregory</td> <td><img src="http://magiccards.info/images/en.gif" alt="English" width="16" height="11" class="flag2"> Magic 2013</td> </tr>

Код ВСЕЙ страницы получаю по средствам str: = TIdHttp.Get('url.html'); (сомнительно, что это грамотно в этом случае )

Собственно регулярка вот:
Код HTML:
<td><a href="/m13/en/1.html">Ajani, Caller of the Pride</a></td> RegEx.RegEx := '<td><a href="/m13/en/(.*?).html">(.*?)</a></td>';


Вытащить надо естественно каждую колонку ( <td> ... </td> )
Код:
cNum := RegEx.Group[1]; \\ номер элемента
cName := RegEx.Group[2]; \\ имя элемента
Как быть с остльным? cType(Planeswalker ), cSubType(Ajani), cCmC(1WW)
Ответить с цитированием