[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Simple HTML DOM Parser
Sice
Доброго времени суток друзья. Использую библиотеку Simple HTML DOM Parser для парсинга сайта. Делаю для себя, информацию никакую не ворую, просто для удобства и статистика тиражей в тотализаторе.
Есть код страницы:

<BODY jackpotService="/old/jackpot.json.jsp" langSwitchDisabled="true" navigationService="/cache/designLinks.jscp.php">
<!--header_begin!-->

<div id="customerPanel">
<table
class="header-aux-panel">
<tr>
<td
width=99%></td>
<td
nowrap class="header-regtab"><a href="https://reg.fonbet.com/users/ru/registration.html">Регистрация</a></td>
</tr>
</table>
</div>

<div
id="content">

</table><div
id=toto>

<table
width=99% border=0>
<tr><td
class=S4>ФОН-Тото+. Тираж 108<td class=S0>Последнее обновление 08.07.15 23:00
</table>
<table
width=99% border=0 cellspacing=0>
<tr>
<td
valign=top width=55%><table width=100% border=0 class=S1 cellspacing=0>
<tr
class=S3><td colspan=3>Событие<td>Счет
<td class=blr colspan=3>Вероятности исходов по букмекерским оценкам/<br>распределение пула по исходам, в %
<tr class=S2H><td colspan=4 class=S2L>Футбол. Румыния. Суперкубок<td class=bl>1<td>X<td class=br>2
<tr><td>1<td>08.07 21:00<td class=S1L>Стяуа Бухарест - Тыргу-Муреш<td>0:1<td class=bl>59.00 / 58.80<td>26.00 / 23.21<td class=br>15.00 / 17.98
<tr class=S2H><td colspan=4 class=S2L>Футбол. Юж Корея. Суперлига<td class=bl>1<td>X<td class=br>2
<tr><td>2<td>08.07 13:30<td class=S1L>Соннам - Сеул ФК<td>1:1<td class=bl>39.00 / 31.36<td>30.00 / 31.99<td class=br>31.00 / 36.65
<tr class=S2H><td colspan=4 class=S2L>Футбол. Япония. 2-й дивизион<td class=bl>1<td>X<td class=br>2
<tr><td>3<td>08.07 13:00<td class=S1L>Гифу - Токио-Верди<td>0:2<td class=bl>34.00 / 30.85<td>28.00 / 26.47<td class=br>38.00 / 42.68
<tr><td>4<td>08.07 13:00<td class=S1L>Зеспакусацу Гумма - Кумамото<td>1:1<td class=bl>38.00 / 40.37<td>28.00 / 31.01<td class=br>34.00 / 28.62
<tr><td>5<td>08.07 13:00<td class=S1L>Каназава - Чиба<td>0:0<td class=bl>29.00 / 29.62<td>29.00 / 31.66<td class=br>42.00 / 38.72
<tr><td>6<td>08.07 13:00<td class=S1L>Киото Санга - Токушима<td>0:1<td class=bl>45.00 / 47.02<td>28.00 / 28.99<td class=br>27.00 / 23.99
<tr><td>7<td>08.07 13:00<td class=S1L>Оита - Мито<td>1:1<td class=bl>43.00 / 42.52<td>28.00 / 31.22<td class=br>29.00 / 26.26
<tr><td>8<td>08.07 13:00<td class=S1L>Саппоро - Омия<td>2:3<td class=bl>27.00 / 25.45<td>28.00 / 27.50<td class=br>45.00 / 47.05
<tr><td>9<td>08.07 13:00<td class=S1L>Фаджано Окаяма - Ви-Варен Нагасаки<td>1:1<td class=bl>31.00 / 34.64<td>29.00 / 33.17<td class=br>40.00 / 32.19
<tr><td>10<td>08.07 13:00<td class=S1L>Эхиме - Точиджи<td>0:0<td class=bl>39.00 / 48.59<td>28.00 / 27.43<td class=br>33.00 / 23.98
<tr><td>11<td>08.07 13:30<td class=S1L>Ависпа Фукуока - Китакюсю<td>4:2<td class=bl>43.00 / 52.31<td>28.00 / 23.97<td class=br>29.00 / 23.72
<tr class=S2H><td colspan=4 class=S2L>Футбол. Аргентина. Премьер-Лига<td class=bl>1<td>X<td class=br>2
<tr><td>12<td>09.07 02:10<td class=S1L>Тигре - Ривер Плейт<td>-<td class=bl>26.00 / 25.12<td>30.00 / 31.12<td class=br>44.00 / 43.76
<tr class=S2H><td colspan=4 class=S2L>Футбол. Бразилия. Серия А<td class=bl>1<td>X<td class=br>2
<tr><td>13<td>09.07 01:30<td class=S1L>Гойяс - Сантос<td>-<td class=bl>39.00 / 38.67<td>29.00 / 31.52<td class=br>32.00 / 29.81
<tr><td>14<td>09.07 01:30<td class=S1L>Коритиба - Понте-Прета<td>-<td class=bl>49.00 / 53.05<td>27.00 / 24.40<td class=br>24.00 / 22.55
<tr><td>15<td>09.07 01:30<td class=S1L>Шапекоенсе СК - Гремио РС<td>-<td class=bl>38.00 / 26.29<td>31.00 / 27.03<td class=br>31.00 / 46.68

</table>
<td
width=2%> 
<td valign=top width=43%>
<table
width=100% border=0 cellspacing=0 cellpadding=0>
<tr><td><table
width=100% border=0 cellspacing=0 class=S1B>
<tr><td
colspan=2 class=S3>Параметры тиража
<tr><td>Джекпот<td class=S1R>9 024 004
<tr><td>Пул<td class=S1R>7 123 536
<tr><td>Призовой фонд<td class=S1R>6 411 182
<tr><td>Принято карточек<td class=S1R>68 116
<tr><td>Принято вариантов<td class=S1R>138 408
</table>
<tr><td>
 

<tr><td><table width=100% border=1 class=S1 cellspacing=0>
<tr><td
colspan=6 class=S3>Раскладка по категориям
<tr><td><b>NN<td><b>Процент<td><b>Призовой фонд<td><b>Угадано<td><b>Угадано (руб)<td><b>Выплата на 1 руб
<tr><td>15<td>10<td class=S1R>9 665 122<td>0<td class=S1R>0<td class=S1R>0.0000
<tr><td>14<td>10<td class=S1R>641 118<td>0<td class=S1R>0<td class=S1R>0.0000
<tr><td>13<td>10<td class=S1R>641 118<td>0<td class=S1R>0<td class=S1R>0.0000
<tr><td>12<td>10<td class=S1R>641 118<td>0<td class=S1R>0<td class=S1R>0.0000
<tr><td>11<td>10<td class=S1R>641 118<td>0<td class=S1R>0<td class=S1R>0.0000
<tr><td>10<td>18<td class=S1R>1 154 013<td>0<td class=S1R>0<td class=S1R>0.0000
<tr><td>9<td>32<td class=S1R>2 051 578<td>0<td class=S1R>0<td class=S1R>0.0000

</table>
<tr><td>
 
<tr><td class=S1L><b>Список ВСЕХ принятых карточек:
<A HREF="kvits.htm" TARGET=_BLANK> HTML</A> (3609k)
<A HREF="kvits.zip"> ZIP</A> (630k)

</table>

<tr><td
colspan=3><hr>
<tr><td
colspan=3 class=S4>Количество вариантов, претендующих на выигрышные категории
<tr>
<td
colspan=3 valign=top>
<table
width=100% border=0 class=S1 cellspacing=0>
<tr
class=S3><td colspan=3 >Событие
<td colspan=7 class=bl>Победа 1
<td colspan=7 class=bl>Ничья
<td colspan=7 class=blr>Победа 2
<tr class=S2H><td colspan=3 class=S2L>Футбол. Румыния. Суперкубок<td class=bl>15<td>14<td>13<td>12<td>11<td>10<td>9<td class=bl>15<td>14<td>13<td>12<td>11<td>10<td>9<td class=bl>15<td>14<td>13<td>12<td>11<td>10<td class=br>9
<tr><td>1<td>08.07 21:00<td class=S1L>Стяуа Бухарест - Тыргу-Муреш<td class=bl> <td> <td> <td> <td> <td> <td> <td class=bl> <td> <td> <td> <td> <td> <td> <td class=bl> <td> <td> <td> <td> <td> <td class=br>
<tr
class=S2H><td colspan=3 class=S2L>Футбол. Юж Корея. Суперлига<td class=bl>15<td>14<td>13<td>12<td>11<td>10<td>9<td class=bl>15<td>14<td>13<td>12<td>11<td>10<td>9<td class=bl>15<td>14<td>13<td>12<td>11<td>10<td class=br>9
<tr><td>2<td>08.07 13:30<td class=S1L>Соннам - Сеул ФК<td class=bl> <td> <td> <td> <td> <td> <td> <td class=bl> <td> <td> <td> <td> <td> <td> <td class=bl> <td> <td> <td> <td> <td> <td class=br>
<tr
class=S2H><td colspan=3 class=S2L>Футбол. Япония. 2-й дивизион<td class=bl>15<td>14<td>13<td>12<td>11<td>10<td>9<td class=bl>15<td>14<td>13<td>12<td>11<td>10<td>9<td class=bl>15<td>14<td>13<td>12<td>11<td>10<td class=br>9
<tr><td>3<td>08.07 13:00<td class=S1L>Гифу - Токио-Верди<td class=bl> <td> <td> <td> <td> <td> <td> <td class=bl> <td> <td> <td> <td> <td> <td> <td class=bl> <td> <td> <td> <td> <td> <td class=br>
<tr><td>
4<td>08.07 13:00<td class=S1L>Зеспакусацу Гумма - Кумамото<td class=bl> <td> <td> <td> <td> <td> <td> <td class=bl> <td> <td> <td> <td> <td> <td> <td class=bl> <td> <td> <td> <td> <td> <td class=br>
<tr><td>
5<td>08.07 13:00<td class=S1L>Каназава - Чиба<td class=bl> <td> <td> <td> <td> <td> <td> <td class=bl> <td> <td> <td> <td> <td> <td> <td class=bl> <td> <td> <td> <td> <td> <td class=br>
<tr><td>
6<td>08.07 13:00<td class=S1L>Киото Санга - Токушима<td class=bl> <td> <td> <td> <td> <td> <td> <td class=bl> <td> <td> <td> <td> <td> <td> <td class=bl> <td> <td> <td> <td> <td> <td class=br>
<tr><td>
7<td>08.07 13:00<td class=S1L>Оита - Мито<td class=bl> <td> <td> <td> <td> <td> <td> <td class=bl> <td> <td> <td> <td> <td> <td> <td class=bl> <td> <td> <td> <td> <td> <td class=br>
<tr><td>
8<td>08.07 13:00<td class=S1L>Саппоро - Омия<td class=bl> <td> <td> <td> <td> <td> <td> <td class=bl> <td> <td> <td> <td> <td> <td> <td class=bl> <td> <td> <td> <td> <td> <td class=br>
<tr><td>
9<td>08.07 13:00<td class=S1L>Фаджано Окаяма - Ви-Варен Нагасаки<td class=bl> <td> <td> <td> <td> <td> <td> <td class=bl> <td> <td> <td> <td> <td> <td> <td class=bl> <td> <td> <td> <td> <td> <td class=br>
<tr><td>
10<td>08.07 13:00<td class=S1L>Эхиме - Точиджи<td class=bl> <td> <td> <td> <td> <td> <td> <td class=bl> <td> <td> <td> <td> <td> <td> <td class=bl> <td> <td> <td> <td> <td> <td class=br>
<tr><td>
11<td>08.07 13:30<td class=S1L>Ависпа Фукуока - Китакюсю<td class=bl> <td> <td> <td> <td> <td> <td> <td class=bl> <td> <td> <td> <td> <td> <td> <td class=bl> <td> <td> <td> <td> <td> <td class=br>
<tr
class=S2H><td colspan=3 class=S2L>Футбол. Аргентина. Премьер-Лига<td class=bl>15<td>14<td>13<td>12<td>11<td>10<td>9<td class=bl>15<td>14<td>13<td>12<td>11<td>10<td>9<td class=bl>15<td>14<td>13<td>12<td>11<td>10<td class=br>9
<tr><td>12<td>09.07 02:10<td class=S1L>Тигре - Ривер Плейт<td class=bl>0<td>6<td>66<td>581<td>2578<td>9002<td>23913<td class=bl>0<td>7<td>112<td>762<td>3362<td>10791<td>26343<td class=bl>1<td>10<td>171<td>931<td>3833<td>11868<td class=br>29023
<tr class=S2H><td colspan=3 class=S2L>Футбол. Бразилия. Серия А<td class=bl>15<td>14<td>13<td>12<td>11<td>10<td>9<td class=bl>15<td>14<td>13<td>12<td>11<td>10<td>9<td class=bl>15<td>14<td>13<td>12<td>11<td>10<td class=br>9
<tr><td>13<td>09.07 01:30<td class=S1L>Гойяс - Сантос<td class=bl>0<td>8<td>107<td>635<td>3048<td>10394<td>27170<td class=bl>1<td>11<td>140<td>957<td>3751<td>11384<td>26789<td class=bl>0<td>4<td>102<td>682<td>2974<td>9883<td class=br>25320
<tr><td>14<td>09.07 01:30<td class=S1L>Коритиба - Понте-Прета<td class=bl>1<td>13<td>165<td>1034<td>4360<td>13248<td>31233<td class=bl>0<td>5<td>86<td>595<td>2721<td>9366<td>24213<td class=bl>0<td>5<td>98<td>645<td>2692<td>9047<td class=br>23833
<tr><td>15<td>09.07 01:30<td class=S1L>Шапекоенсе СК - Гремио РС<td class=bl>0<td>4<td>95<td>582<td>2574<td>8960<td>24230<td class=bl>0<td>4<td>80<td>651<td>2973<td>10048<td>24857<td class=bl>1<td>15<td>174<td>1041<td>4226<td>12653<td class=br>30192

</table>

</table>
</div>
</BODY></HTML>


Я хочу спарсить так все матчи, которые дали в тотализаторе и вывести их отдельно на экран.
Делаю это так:
 
$res = $html->find('.S1L');
echo $res[6];

Массив успешно заполняется, но в определенный момент (после 15 индекса) ненужными уже мне данными. Мне нужно спарсить только 15 матчей (они идут с классом S1L) остальные уже не требуются.

Возник вопрос. Как парсить определенный участок кода на странице ? В моём случае, мне нужно парсить из всего этого только:

<table width=99% border=0>
<tr><td
class=S4>ФОН-Тото+. Тираж 108<td class=S0>Последнее обновление 08.07.15 23:00
</table>
<table
width=99% border=0 cellspacing=0>
<tr>
<td
valign=top width=55%><table width=100% border=0 class=S1 cellspacing=0>
<tr
class=S3><td colspan=3>Событие<td>Счет
<td class=blr colspan=3>Вероятности исходов по букмекерским оценкам/<br>распределение пула по исходам, в %
<tr class=S2H><td colspan=4 class=S2L>Футбол. Румыния. Суперкубок<td class=bl>1<td>X<td class=br>2
<tr><td>1<td>08.07 21:00<td class=S1L>Стяуа Бухарест - Тыргу-Муреш<td>0:1<td class=bl>59.00 / 58.80<td>26.00 / 23.21<td class=br>15.00 / 17.98
<tr class=S2H><td colspan=4 class=S2L>Футбол. Юж Корея. Суперлига<td class=bl>1<td>X<td class=br>2
<tr><td>2<td>08.07 13:30<td class=S1L>Соннам - Сеул ФК<td>1:1<td class=bl>39.00 / 31.36<td>30.00 / 31.99<td class=br>31.00 / 36.65
<tr class=S2H><td colspan=4 class=S2L>Футбол. Япония. 2-й дивизион<td class=bl>1<td>X<td class=br>2
<tr><td>3<td>08.07 13:00<td class=S1L>Гифу - Токио-Верди<td>0:2<td class=bl>34.00 / 30.85<td>28.00 / 26.47<td class=br>38.00 / 42.68
<tr><td>4<td>08.07 13:00<td class=S1L>Зеспакусацу Гумма - Кумамото<td>1:1<td class=bl>38.00 / 40.37<td>28.00 / 31.01<td class=br>34.00 / 28.62
<tr><td>5<td>08.07 13:00<td class=S1L>Каназава - Чиба<td>0:0<td class=bl>29.00 / 29.62<td>29.00 / 31.66<td class=br>42.00 / 38.72
<tr><td>6<td>08.07 13:00<td class=S1L>Киото Санга - Токушима<td>0:1<td class=bl>45.00 / 47.02<td>28.00 / 28.99<td class=br>27.00 / 23.99
<tr><td>7<td>08.07 13:00<td class=S1L>Оита - Мито<td>1:1<td class=bl>43.00 / 42.52<td>28.00 / 31.22<td class=br>29.00 / 26.26
<tr><td>8<td>08.07 13:00<td class=S1L>Саппоро - Омия<td>2:3<td class=bl>27.00 / 25.45<td>28.00 / 27.50<td class=br>45.00 / 47.05
<tr><td>9<td>08.07 13:00<td class=S1L>Фаджано Окаяма - Ви-Варен Нагасаки<td>1:1<td class=bl>31.00 / 34.64<td>29.00 / 33.17<td class=br>40.00 / 32.19
<tr><td>10<td>08.07 13:00<td class=S1L>Эхиме - Точиджи<td>0:0<td class=bl>39.00 / 48.59<td>28.00 / 27.43<td class=br>33.00 / 23.98
<tr><td>11<td>08.07 13:30<td class=S1L>Ависпа Фукуока - Китакюсю<td>4:2<td class=bl>43.00 / 52.31<td>28.00 / 23.97<td class=br>29.00 / 23.72
<tr class=S2H><td colspan=4 class=S2L>Футбол. Аргентина. Премьер-Лига<td class=bl>1<td>X<td class=br>2
<tr><td>12<td>09.07 02:10<td class=S1L>Тигре - Ривер Плейт<td>-<td class=bl>26.00 / 25.12<td>30.00 / 31.12<td class=br>44.00 / 43.76
<tr class=S2H><td colspan=4 class=S2L>Футбол. Бразилия. Серия А<td class=bl>1<td>X<td class=br>2
<tr><td>13<td>09.07 01:30<td class=S1L>Гойяс - Сантос<td>-<td class=bl>39.00 / 38.67<td>29.00 / 31.52<td class=br>32.00 / 29.81
<tr><td>14<td>09.07 01:30<td class=S1L>Коритиба - Понте-Прета<td>-<td class=bl>49.00 / 53.05<td>27.00 / 24.40<td class=br>24.00 / 22.55
<tr><td>15<td>09.07 01:30<td class=S1L>Шапекоенсе СК - Гремио РС<td>-<td class=bl>38.00 / 26.29<td>31.00 / 27.03<td class=br>31.00 / 46.68

</table>

Сложность для меня заключается в том, что может быть разное количество этих S1L и не вариант парсить только 15 классов S1L. Заранее большое спасибо.
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.