Помощник
|
Как парсить html-страницу? |
happyhand
|
Сообщение
#1
|
||
|
|
||
|
|||
unnormal |
18.5.2010, 9:55;
Ответить: unnormal
Сообщение
#2
|
|
[php]$html = file_get_contents("http://bank.gov.ua/Fin_ryn/OF_KURS/Currency/FindByDate.aspx");
$start_table = 'table cellspacing="0" cellpadding="3" rules="cols" bordercolor="#DADADA" border="1" id="DataGrid1" bgcolor="White" width="85%">'; $end_table = '</table> <P></P>'; $start = strpos($html, $start_table); $end = strpos($html, $end_table); $result = substr($html, $start - 1, $end - $start); echo $result; [/php]В результате будет html таблица курсов валют, а дальше по тому же принципу |
|
|
Apay |
18.5.2010, 14:41;
Ответить: Apay
Сообщение
#3
|
|
есть хорошая ф-я preg_match_all
|
|
|
gambrinus |
18.5.2010, 22:46;
Ответить: gambrinus
Сообщение
#4
|
|
Типо так?
[PHP] <?php $html = file_get_contents("http://bank.gov.ua/Fin_ryn/OF_KURS/Currency/FindByDate.aspx"); $start_table = 'table cellspacing="0" cellpadding="3" rules="cols" bordercolor="#DADADA" border="1" id="DataGrid1" bgcolor="White" width="85%">'; $start_td = '<td>'; $end_td = '</td>'; $end_table = '</table> <P></P>'; $start = strpos($html, $start_table, $start_td); $end = strpos($html, $end_td, $end_table); $result = substr($html, $start - 1, $end - $start); echo $result; ?> [/PHP] НО ЧЕТ НЕ РАБОТАЕТ! |
|
|
Apay |
18.5.2010, 23:27;
Ответить: Apay
Сообщение
#5
|
|
[php]define( 'REGEX',
'#<tr class="w1" align="Center" valign="Middle">\\s*'. '<td align="Center">(.*?)</td>\\s*'. '<td align="Center">(.*?)</td>\\s*'. '<td align="Center">(.*?)</td>\\s*'. '<td align="Left">(.*?)</td>\\s*'. '<td align="Right">(.*?)</td>\\s*'. '</tr>#i' ); $page = @file_get_contents('http://bank.gov.ua/Fin_ryn/OF_KURS/Currency/FindByDate.aspx'); if( preg_match_all( REGEX, $page, $m, PREG_SET_ORDER ) ) foreach( $m as $c ){ $dig_code = $c[1]; $lit_code = $c[2]; $count = $c[3]; $name = $c[4]; $rate = $c[5]; ... } else echo 'error!';[/php]это работает |
|
|
gambrinus |
18.5.2010, 23:29;
Ответить: gambrinus
Сообщение
#6
|
|
|
|
|
Apay |
18.5.2010, 23:37;
Ответить: Apay
Сообщение
#7
|
|
gambrinus, во первых - повежливей, вам же помогают, во вторых - последнюю точку с запятой поставить - что, очень сложно? при копипасте упустил. надо хоть иногда мозги включать и смотреть что не так.
|
|
|
gambrinus |
18.5.2010, 23:44;
Ответить: gambrinus
Сообщение
#8
|
|
gambrinus, во первых - повежливей, вам же помогают, во вторых - последнюю точку с запятой поставить - что, очень сложно? при копипасте упустил. надо хоть иногда мозги включать и смотреть что не так. ИЗВИНИ но всеравно НЕ РАБОТАЕТ МОЙ КОД [PHP]<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=windows-1251" /> <title>парсить html-страницу</title> </head> <body> <?php define( 'REGEX', '#<tr class="w1" align="Center" valign="Middle">\\s*'. '<td align="Center">(.*?)</td>\\s*'. '<td align="Center">(.*?)</td>\\s*'. '<td align="Center">(.*?)</td>\\s*'. '<td align="Left">(.*?)</td>\\s*'. '<td align="Right">(.*?)</td>\\s*'. '</tr>#i' ); $page = @file_get_contents('http://bank.gov.ua/Fin_ryn/OF_KURS/Currency/FindByDate.aspx'); if( preg_match_all( REGEX, $page, $m, PREG_SET_ORDER ) ) foreach( $m as $c ){ $dig_code = $c[1]; $lit_code = $c[2]; $count = $c[3]; $name = $c[4]; $rate = $c[5]; } else echo 'error!'; ?> </body> </html>[/PHP] |
|
|
Letmetouchyou |
19.5.2010, 0:06;
Ответить: Letmetouchyou
Сообщение
#9
|
|
gambrinus, извини пишеться через И
|
|
|
Apay |
19.5.2010, 0:11;
Ответить: Apay
Сообщение
#10
|
|
так вместо трех точек надо подставить свою обработку, например вывод в таблицу
|
|
|
|
Похожие темы
Тема | Ответов | Автор | Просмотров | Последний ответ | |
---|---|---|---|---|---|
Зачем перед лендингом ставят промежуточную страницу? | 2 | Boymaster | 760 | Вчера, 18:05 автор: Boymaster |
|
Как в пушсетках покупают по 100-200 тысяч кликов за день? | 2 | Boymaster | 702 | Вчера, 17:52 автор: Boymaster |
|
Как вы отдыхаете от работы за компом | 151 | adw-kupon.ru | 19866 | 23.4.2024, 13:52 автор: Vmir |
|
Как вы бросили работу и перешли на заработок с сайтов? | 20 | uahomka | 3479 | 23.4.2024, 11:54 автор: Skyworker |
|
Как вывести деньги в Украине с заблокированного Юмани ? | 30 | freeax | 5042 | 20.4.2024, 16:49 автор: Liudmila |
Текстовая версия | Сейчас: 25.4.2024, 17:16 |