Модераторы: LSD
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> получить цены на драгметаллы в виде XML/HTML, подскажите ресурс 
V
    Опции темы
ТРЕТЬ
  Дата 17.12.2007, 21:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 92
Регистрация: 8.1.2006
Где: mind's gloomy corner




Сейчас сижу в прострации... Дело в том, что заказчик хочет чтобы на сайте отображались курсы валют, цены на нефть, газ, драг металлы и т.п.
Найти и запарсить курс валют и цены на драг металлы не оставило проблем - слава богу www.cbr.ru предоставляет эти данные в формате XML что очень приятно обрабатывать и вообще быть уверенным что данные будут корректными...
Но вот с нефтью неожиданно возникли проблемы. Пожалуй уже часа 2 ползаю по гуглу в четных попытках найти хоть один ресурс, предоставляющий данные по нефти в XML формате (или как-то еще информером работает), но не могу найти совершенно ничего. А заказчик вот еще захотел курс на медь, никель и еще прочее... В общем я в отчаянии... Если кто-то знает какие-то информеры, которые могут предоставить данную информацию, очень прошу подскажите. 
Буду также очень благодарен, если подкинете еще какое-то решение (Если у кого-то завалялся готовый парсер на такую тему было вообще здорово).

З.Ы. Прошу прощения у администрации и пользователей, за то что размещаю вопрос, мягко говоря, не в том разделе. Просто винград для меня пока является единственным местом где можно спросить совета, когда не помогли ни мануалы ни гугл.
PM MAIL WWW ICQ   Вверх
gta4kv
Дата 17.12.2007, 21:04 (ссылка) |    (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Walking around mad.
***


Профиль
Группа: Завсегдатай
Сообщений: 1868
Регистрация: 25.7.2006




А вы нашли где есть эти цены вообще? Я думаю не очень большая проблема будет отпарсить прям HTML.
PM MAIL   Вверх
ТРЕТЬ
Дата 17.12.2007, 21:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 92
Регистрация: 8.1.2006
Где: mind's gloomy corner




Удалось найти сайт, где достоверность данных удовлетворяла заказчика, но там данные выводились внутри JS-скрипта... Честно говоря, не знаю как можно такое запарсить... Хотя есть и пара других сайтов, которые удовлетворят заказчика...

В принципе, что еще не нравится в подходе парсинга самого HTML кода, так это то что в случае редизайна сайта с которого берется информация, могут, а точнее даже возникнут большие проблеммы...

Хотя конечно в моей ситуации особо выбирать не приходится. Так что если кто-то не подскажет информера, буду делать так как вы предложили...
PM MAIL WWW ICQ   Вверх
gta4kv
Дата 17.12.2007, 21:29 (ссылка) |    (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Walking around mad.
***


Профиль
Группа: Завсегдатай
Сообщений: 1868
Регистрация: 25.7.2006




Покажите ссылки на ресурсы где вы нашли цены.. разберем сразу как можно отпарсить ;P
PM MAIL   Вверх
ТРЕТЬ
Дата 17.12.2007, 21:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 92
Регистрация: 8.1.2006
Где: mind's gloomy corner




Из того что видел, пока понравился вот этот рес

http://bloomberg.com/markets/commodities/cfutures.html

Буду конечно крайне благодарен, если поможете, но все же не хочу быть обременительным, так что не стоит тратить на меня много времени smile

Вообщем-то даже если бы вы просто дали мне код получения текста страницы (наиболее грамотным образом) это было бы вполне достаточно - дальше разобрать строки я точно смогу сам, и поэтому тратить ваше время было бы просто некрасиво.
PM MAIL WWW ICQ   Вверх
gta4kv
Дата 17.12.2007, 22:14 (ссылка) |    (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Walking around mad.
***


Профиль
Группа: Завсегдатай
Сообщений: 1868
Регистрация: 25.7.2006




Хм.. не самый удачный сайт, там какая то туева хуча редиректов, видимо "внутренних", скрипт заворачивается..

upd

Вру, все норм

Это сообщение отредактировал(а) gta4kv - 17.12.2007, 22:21
PM MAIL   Вверх
flashaa
Дата 17.12.2007, 22:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 796
Регистрация: 7.3.2006




Полагаю, тут - http://www.cbr.ru/scripts/Root.asp?Prtid=DWS
 должно быть. Как-никак центробанк.
PM MAIL   Вверх
gta4kv
Дата 17.12.2007, 22:25 (ссылка) |    (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Walking around mad.
***


Профиль
Группа: Завсегдатай
Сообщений: 1868
Регистрация: 25.7.2006




Код

<?php

set_time_limit(0);


    
    $fp = fsockopen('www.bloomberg.com'    , 80, $errno, $errstr, 30);

    if ( !$fp ) {
    
     echo "сайт сломался!=) <br />\n";
    
    }
    else
    {
    

             $out = "GET /markets/commodities/cfutures.html HTTP/1.1\r\n";
             $out .= "Host: www.yandex.ru\r\n";
                $out .= "User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.2.1) Gecko/20021204\r\n";
             $out .= "Referer: http://www.yandex.ru/\r\n";
             $out .= "Accept: text/xml,application/xml,application/xhtml+xml,";
             $out .= "Connection: Close\r\n\r\n";
             
                fwrite($fp, $out);
                
                
             while ( !feof( $fp ) ) 
             {
                 $done_content .= fgets($fp, 128);
             }     
        
    } 
    
    preg_match( '/<table cellspacing="1" cellpadding="4" border="0" bgcolor="#D2E1E8">.*<\/table>/sU', $done_content, $matches);
    
    var_dump( $matches[0] );

?>


Это пример "выкавыривания" самой первой таблицы..

flashaa, это какая то фигня, "сервису необходимо установить SOAP клиент и MSXML4.0 с сайта Microsoft. ", легче отпарсить страницу ;)

Это сообщение отредактировал(а) gta4kv - 17.12.2007, 22:29
PM MAIL   Вверх
flashaa
Дата 17.12.2007, 22:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 796
Регистрация: 7.3.2006




Цитата(gta4kv @  17.12.2007,  22:25 Найти цитируемый пост)
 "сервису необходимо установить SOAP клиент и MSXML4.0 с сайта Microsoft. "

SOAP - это протокол на основе XML. Он и используется для передачи всяких курсов валют и тп, чтобы выковыривания не было.
Клиент поставить написано, чтоб можно было с десктопа получать эти данные. Это не имеет никакого отношения к PHP, и странно если б было по-другому.

В PHP есть и  SOAP-клиент и SOAP-сервер, хотя для получения нам нужен только первый из них.

http://www.phpworld.ru/articles/netphp.php
http://ru2.php.net/manual/ru/ref.soap.php

Цитата(gta4kv @  17.12.2007,  22:25 Найти цитируемый пост)
 это какая то фигня 

Забавно ты про Центробанк )


Это сообщение отредактировал(а) flashaa - 17.12.2007, 22:37
PM MAIL   Вверх
gta4kv
Дата 17.12.2007, 22:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Walking around mad.
***


Профиль
Группа: Завсегдатай
Сообщений: 1868
Регистрация: 25.7.2006




Цитата(flashaa @ 17.12.2007,  22:36)
Цитата(gta4kv @  17.12.2007,  22:25 Найти цитируемый пост)
 "сервису необходимо установить SOAP клиент и MSXML4.0 с сайта Microsoft. "

SOAP - это протокол на основе XML. Он и используется для передачи всяких курсов валют и тп, чтобы выковыривания не было.
Клиент поставить написано, чтоб можно было с десктопа получать эти данные. Это не имеет никакого отношения к PHP, и странно если б было по-другому.

В PHP есть и  SOAP-клиент и SOAP-сервер, хотя для получения нам нужен только первый из них.

http://www.phpworld.ru/articles/netphp.php
http://ru2.php.net/manual/ru/ref.soap.php

упс  smile 

но парсить все равно веселее...
хотя такое решение наверно все же будет лучше..

Цитата

 
Цитата(gta4kv @  17.12.2007,  22:25 Найти цитируемый пост)
 это какая то фигня 

 Забавно ты про Центробанк )

фигня а не банк ;P

Это сообщение отредактировал(а) gta4kv - 17.12.2007, 22:42
PM MAIL   Вверх
ТРЕТЬ
Дата 17.12.2007, 23:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 92
Регистрация: 8.1.2006
Где: mind's gloomy corner




flashaa,  Насчет www.cbr.ru. Там можно получать непосредственно XML файлы с данными и уже их парсить теми средствами (т.е. не задействуя тот же SOAP), которыми нравится, но дело в том, что там нету информации по стоимости нефти, газа, меди и прочего мне нужного, поэтому к сожалению этот ресурс отпадает.

gta4kv, Спасибо... Может заодно тогда растолкуете что делает вот этот кусок кода?

Код

             $out = "GET /markets/commodities/cfutures.html HTTP/1.1\r\n";
             $out .= "Host: www.yandex.ru\r\n";
             $out .= "User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.2.1) Gecko/20021204\r\n";
             $out .= "Referer: http://www.yandex.ru/\r\n";
             $out .= "Accept: text/xml,application/xml,application/xhtml+xml,";
             $out .= "Connection: Close\r\n\r\n";
             
             fwrite($fp, $out);

А то я что-то в упор не понимаю, не что он делает, ни для чего))

ЗЫ. ответил не сразу, потому что с работы домой ехал.
PM MAIL WWW ICQ   Вверх
gta4kv
  Дата 18.12.2007, 10:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Walking around mad.
***


Профиль
Группа: Завсегдатай
Сообщений: 1868
Регистрация: 25.7.2006




ТРЕТЬ, ну это обязательные заголовки ( кроме User-Agent, Referer ) которые надо отправить серверу, что бы он выдал страницу..

Мы сокетом открываем конект :

Код

    $fp = fsockopen('www.bloomberg.com'    , 80, $errno, $errstr, 30);


А потом отсылаем ему это, иначе не будет ответа и все..

Код

     $out = "GET /markets/commodities/cfutures.html HTTP/1.1\r\n"; // берем страницу "markets/commodities/cfutures.html" от корня
             $out .= "Host: www.bloomberg.com\r\n"; // хз вообще
             $out .= "User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.2.1) Gecko/20021204\r\n"; // браузер который мы используем 
             $out .= "Referer: http://www.yandex.ru/\r\n"; // откуда мы пришли
             $out .= "Accept: text/xml,application/xml,application/xhtml+xml,"; // какие данные мы принимаем 
             $out .= "Connection: Close\r\n\r\n"; // закрываем коннект

PM MAIL   Вверх
ТРЕТЬ
Дата 19.12.2007, 13:17 (ссылка) |    (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 92
Регистрация: 8.1.2006
Где: mind's gloomy corner




А, точно)) Мог бы и догадаться.

Всё, огромное спасибо! Наберу 100 постов - с меня плюсик))
PM MAIL WWW ICQ   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила раздела «Флейм»
Sneg0k

Добро пожаловать в «Флейм».

В разделе не действуют многие правила:

  • Можно оффтопить(умеренно)
  • Можно общаться на темы, не только связанные с программированием.

Строго запрещено:

  • Размещать рекламу
  • Обсуждать политику
  • Оскорблять друг-друга и переходить на личности
  • Наезжать, провоцировать других участников форума
  • Материться
  • Троллить

Напоминаем о существовании волшебной кнопочки "Репорт". Если вы увидели сообщение, несовместимое с жизнью, просьба подвести на нее курсор и клацнуть левой клавишей мышки. Тем самым вы сможете призвать злого, но жутко справедливого джина-модератора, который нашлет порчу на злостного нарушителя. Кстати - счётчик сообщений здесь не растёт.


Глас Винграда:


Глас Философии:


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Sneg0k

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Флейм | Следующая тема »


 




[ Время генерации скрипта: 0.1021 ]   [ Использовано запросов: 20 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.