Помощник
|
Как парсить 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
|
|
так вместо трех точек надо подставить свою обработку, например вывод в таблицу
|
|
|
|
Похожие темы
Тема | Ответов | Автор | Просмотров | Последний ответ | |
---|---|---|---|---|---|
Зачем перед лендингом ставят промежуточную страницу? | 0 | Boymaster | 240 | Вчера, 23:58 автор: Boymaster |
|
Арбитражники, как ведете учет расходов и доходов? | 12 | Boymaster | 1923 | Вчера, 21:03 автор: MisterBit |
|
Как вывести деньги в Украине с заблокированного Юмани ? | 29 | freeax | 4817 | 17.4.2024, 1:19 автор: sergio11 |
|
Как вы отдыхаете от работы за компом | 148 | adw-kupon.ru | 19713 | 8.4.2024, 10:37 автор: Skyworker |
|
Как вы бросили работу и перешли на заработок с сайтов? | 18 | uahomka | 3109 | 5.4.2024, 5:53 автор: Skyworker |
Текстовая версия | Сейчас: 20.4.2024, 7:01 |