Доброго времени суток друзья. Использую библиотеку Simple HTML DOM Parser для парсинга сайта. Делаю для себя, информацию никакую не ворую, просто для удобства и статистика тиражей в тотализаторе. Есть код страницы: Код (PHP): <BODY jackpotService="/old/jackpot.json.jsp" langSwitchDisabled="true" navigationService="/cache/designLinks.jscp.php"> <div id="customerPanel"> <table class="header-aux-panel"> <tr> <td width=99%></td> <td nowrap class="header-regtab">[url="https://reg.fonbet.com/users/ru/registration.html"]Регистрация[/url]</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> Я хочу спарсить так все матчи, которые дали в тотализаторе и вывести их отдельно на экран. Делаю это так: PHP: $res = $html->find('.S1L'); echo $res[6]; Массив успешно заполняется, но в определенный момент (после 15 индекса) ненужными уже мне данными. Мне нужно спарсить только 15 матчей (они идут с классом S1L) остальные уже не требуются. Возник вопрос. Как парсить определенный участок кода на странице ? В моём случае, мне нужно парсить из всего этого только: Код (PHP): <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. Заранее большое спасибо. PHP, JavaScript, SQL и другой код пишите внутри тегов Код ( (Unknown Language)): [b]php][/b]Тут код[b][/[/b][b]code][/b][/color]
всегда с позиции сервиса надо смотреть. у них есть апи? - пользуйтесь. нет? - предложите. остальное - воровство, каким бы энтузиазмом вы его не пытались прикрыть
API нету. Ну какая мне выгода от этого воровства ? Только личная, для статистики, не на общее обозрение. Это же не воровство какого-то авторского контента..
ну вот. в любом случае на данном ресурсе было решено не потакать ворам контента. длясебяшные они там или какие - не важно.
Бред какой-то... По вашей логике любой HTTP запрос, если он не инициирован браузером - воровство. Наличие апишки никакой роли в этом не играет. Для создателей ресурса нет никакой разницы каким образом вы получили их контент, потому что в конечном итоге это все равно HTTP request, но, в большинстве случаев, "распространять" этот контент, как минимум, без указания ссылки на источник - это да, не есть хорошо. Зависит от условий самого ресурса. Некоторые и это позволяют. Вопрос в догонку: У меня операционка без графического интерфейса - lynx, лучшее на что я могу расчитывать. Будучи немного знаком с программированием, я решил написать небольшой скриптец для парсинга статистики ставок на матчи моего любомого клуба, за которым слежу постоянно. Вопрос - я вор?!
Igorek это защита от того что потом людям которые тебе помогали реализовывать это предъявят претензии или форуму.
1 годпройдет и бац ваш сайт стал коряво показывает почему? потому что сайт обновил и вы парсите мда! Пора вам переходи на API тем быстрее работы чем вы даете им накручивать популярность!