Парсер forex

Тема в разделе "PHP", создана пользователем Sachek, 31 окт 2009.

Статус темы:
Закрыта.
Модераторы: latteo
  1. Sachek

    Sachek Умелый

    Регистр.:
    23 мар 2009
    Сообщения:
    385
    Симпатии:
    102
    Привет всем, помогите советом или поделитесь кодом следующего парсера..
    Мне необходимо, что бы у меня на сайте отображался график и все функции с сайта Перейти по ссылке
    Кстати, график меняется при соответствующих настройках, с этим я чето тоже запутался :(
    Искал искал инфу, как стянуть, ни фига не понял... Сразу не бейте, помогите хоть чем ни будь :)
    Заранее всем спасибо!
     
  2. victor89

    victor89 Постоялец

    Регистр.:
    6 май 2008
    Сообщения:
    83
    Симпатии:
    14
    Смотри можно сделать следующим образом:
    1. Сохраняеш страничку с помощу браузера.
    2. Вырезаеш с нее блок с id=left-content
    3. Главное оставить скрипты+поправить пути. У них сейчас вида /js/yui/build/json/json-min.js а ты правиш Перейти по ссылке
     
  3. Sachek

    Sachek Умелый

    Регистр.:
    23 мар 2009
    Сообщения:
    385
    Симпатии:
    102
    Почти разобрался, но вот вопросик еще остался один.
    ссылки то указывать на корневую папку раздела или сайта?
    вот к примеру: Перейти по ссылке - основная страница
    Вы написали, что необходимо указывать ссылку на Перейти по ссылке Но это же получается ссылка на корневую папку домена.
    Может вот так нужно, хотя может и ошибаюсь :)
    Перейти по ссылке
    P.S.
    С Вышесказанным вроде разобрался, теперь проблема в другом. График не отображается.
    Вот код, который я вытащил и поменял ссылки:
    PHP:
    <div id="left-content">
    <
    div id="content">
                
            <
    h1></h1>
            
                    
                <
    br
                <
    script language="Javascript">

    // Вызывается по тайм-ауту или при щелчке на кнопке.
    var aHouseValues = new Array(
        
    "EURUSD,AUDCAD,AUDCHF,AUDJPY,AUDNZD,AUDSGD,AUDUSD,CADJPY,CHFJPY,EURAUD,EURCAD,EURCHF,EURGBP,EURJPY,EURNOK,EURNZD,EURSEK,GBPAUD,GBPCAD,GBPCHF,GBPJPY,GBPUSD,NZDCAD,NZDJPY,NZDSGD,NZDUSD,USDCAD,USDCHF,USDDKK,USDHKD,USDJPY,USDMXN,USDNOK,USDSEK,USDSGD,USDZAR",
        
    "W,C,CL,GC,CP,GOLD,HO,NG,RB,S,Zi",
        
    "ENQ,EP,FDAX,FESX,DX,YM,NKD"
    );

    // ф-ция, возвращающая массив домов по заданной улице
    function getHouseValuesByStreet(index){
        var 
    sHouseValues aHouseValues[index];
        return 
    sHouseValues.split(","); // преобразуем строку в массив домов
    }

    // главная ф-ция, выводящая динамически список домов
    function MkHouseValues(index){
        var 
    aCurrHouseValues getHouseValuesByStreet(index);
        var 
    nCurrHouseValuesCnt aCurrHouseValues.length;
        var 
    oHouseList document.forms["img"].elements["cet"];
        var 
    oHouseListOptionsCnt oHouseList.options.length;
        
    oHouseList.length 0// удаляем все элементы из списка домов
        
    for (0nCurrHouseValuesCnti++){
            
    // далее мы добавляем необходимые дома в список
            
    if (document.createElement){
                var 
    newHouseListOption document.createElement("OPTION");
                
    newHouseListOption.text aCurrHouseValues[i];
                
    newHouseListOption.value aCurrHouseValues[i];
                
    // тут мы используем для добавления элемента либо метод IE, либо DOM, которые, alas, не совпадают по параметрам…
                
    (oHouseList.options.add) ? oHouseList.options.add(newHouseListOption) : oHouseList.add(newHouseListOptionnull);
            }else{
                
    // для NN3.x-4.x
                
    oHouseList.options[i] = new Option(aCurrHouseValues[i], aCurrHouseValues[i], falsefalse);
            }
        }
    }



        function 
    doLoad(force) {
            
            
    // Получаем текст запроса из <input>-поля.
            
    var cet '' document.getElementById('cet').value;
            var 
    time '' document.getElementById('time').value;
            var 
    typef '' document.getElementById('typef').value;
            var 
    typesk '' document.getElementById('typesk').value;
            var 
    typesk_sh '' document.getElementById('typesk_sh').value;
            var 
    typeind '' document.getElementById('typeind').value;
            var 
    typeind_sh '' document.getElementById('typeind_sh').value;
            var 
    typeind1 '' document.getElementById('typeind1').value;
            var 
    typeind_sh1 '' document.getElementById('typeind_sh1').value;
            var 
    typeind_sh1_1 '' document.getElementById('typeind_sh1_1').value;
            var 
    typeind2 '' document.getElementById('typeind2').value;
            var 
    typeind_sh2 '' document.getElementById('typeind_sh2').value;
            var 
    typeind_sh2_1 '' document.getElementById('typeind_sh2_1').value;
            var 
    typeind3 '' document.getElementById('typeind3').value;
            var 
    typeind_sh3 '' document.getElementById('typeind_sh3').value;
            var 
    typeind_sh3_1 '' document.getElementById('typeind_sh3_1').value;
            
            
    // Создаем новый объект JSHttpRequest.
            
    var req = new Subsys_JsHttpRequest_Js();
            
            
    // Код, АВТОМАТИЧЕСКИ вызываемый при окончании загрузки.
            
    req.onreadystatechange = function() {
                if (
    req.readyState == 4) { 
                    if (
    req.responseJS) { 
                        
                        
    // Записываем в <div> результат работы. 
                        
    document.getElementById('result').innerHTML 
                        
    '<img onload=setTimeout("doLoad(true)",600000); src="http://www.fibo.ru/trader/analytics/files/graphs/analytics/analytics_img.php?c='+(req.responseJS.c||'')+'&t='+(req.responseJS.t||'')+'&type='+(req.responseJS.type||'')+'&sk='+(req.responseJS.sk||'')+'&sk_sh='+(req.responseJS.sk_sh||'')+'&ind='+(req.responseJS.ind||'')+'&ind_sh='+(req.responseJS.ind_sh||'')+'">';
                        
                        if (
    typeind1!=0){   
                            
                               
    // Записываем в <div> результат работы. 
                               
    document.getElementById('result1').innerHTML 
                               
    '<img onload=setTimeout("doLoad(true)",600000); src="http://www.fibo.ru/trader/analytics/files/graphs/analytics/dop_analytics_img.php?c='+(req.responseJS.c||'')+'&t='+(req.responseJS.t||'')+'&ind='+(req.responseJS.ind1||'')+'&ind_sh='+(req.responseJS.ind_sh1||'')+'&ind_sh1='+(req.responseJS.ind_sh1_1||'')+'">';
                               
    document.getElementById('subItem2').style.display='block';
                                   
                           }else{
                                
    document.getElementById('result1').innerHTML "";
                                
    document.getElementById('result2').innerHTML "";
                                
    document.getElementById('result3').innerHTML "";
                                
    document.getElementById('subItem3').style.display='none';
                                
    document.getElementById('typeind2').value=0;
                                
    document.getElementById('typeind3').value=0;
                           }  
                           
                           if (
    typeind2!=&& document.getElementById('subItem2').style.display!='none'){
                            
                               
    // Записываем в <div> результат работы. 
                               
    document.getElementById('result2').innerHTML 
                               
    '<img onload=setTimeout("doLoad(true)",600000); src="http://www.fibo.ru/trader/analytics/files/graphs/analytics/dop_analytics_img.php?c='+(req.responseJS.c||'')+'&t='+(req.responseJS.t||'')+'&ind='+(req.responseJS.ind2||'')+'&ind_sh='+(req.responseJS.ind_sh2||'')+'&ind_sh1='+(req.responseJS.ind_sh2_1||'')+'">';
                               
                                   
                           }else{
                                
    document.getElementById('result2').innerHTML "";
                                
    document.getElementById('result3').innerHTML "";
                                
    document.getElementById('typeind3').value=0;
                               
                           } 
                           if (
    typeind3!=&& document.getElementById('subItem3').style.display!='none'){
                    
                               
    // Записываем в <div> результат работы. 
                               
    document.getElementById('result3').innerHTML 
                               
    '<img onload=setTimeout("doLoad(true)",600000); src="http://www.fibo.ru/trader/analytics/files/graphs/analytics/dop_analytics_img.php?c='+(req.responseJS.c||'')+'&t='+(req.responseJS.t||'')+'&ind='+(req.responseJS.ind3||'')+'&ind_sh='+(req.responseJS.ind_sh3||'')+'&ind_sh1='+(req.responseJS.ind_sh3_1||'')+'">';
                               
    '<img onload=setTimeout("doLoad(true)",600000); src="http://www.fibo.ru/trader/analytics/files/graphs/analytics/dop_analytics_img.php?c='+(req.responseJS.c||'')+'&t='+(req.responseJS.t||'')+'&ind='+(req.responseJS.ind3||'')+'&ind_sh='+(req.responseJS.ind_sh3||'')+'&ind_sh1='+(req.responseJS.ind_sh3_1||'')+'">';
                                   
                           }else{
                                
    document.getElementById('result3').innerHTML "";
                           } 
                    }
                }
             }
            
            
    // Разрешаем кэширование (чтобы при одинаковых запросах
            // не обращаться к серверу несколько раз).
            
    req.caching true;
            
    // Подготваливаем объект.
            
    req.open('POST''http://www.fibo.ru/trader/analytics/files/graphs/analytics/load.php'true);
            
    // Посылаем данные запроса (задаются в виде хэша).
            
    req.send({ ccetttimetypetypefsktypesksk_shtypesk_shindtypeindind_shtypeind_sh ind1typeind1ind_sh1typeind_sh1ind2typeind2ind_sh2typeind_sh2ind3typeind3ind_sh3typeind_sh3ind_sh1_1typeind_sh1_1ind_sh2_1typeind_sh2_1ind_sh3_1typeind_sh3_1  });
        }
        
    // Поддержка загрузки данных по тайм-ауту (1 секунда после
        // последнего отпускания клавиши в текстовом поле).
        
    var timeout null;
        function 
    doLoadUp() {
            if (
    timeoutclearTimeout(timeout);
            
    timeout setTimeout(doLoad1);
        }
         
    YAHOO.util.Event.onContentReady(doLoadUp);
         
    doLoadUp();
    </script>


    <form id=img  onsubmit="return false" class="graphs">

      <fieldset class="graph">
      <legend>Настройки графика</legend>
      <div>
        <label for="section" accesskey="">секция:</label>
        <select id="section" onChange="MkHouseValues(this.selectedIndex);doLoadUp();" name="section">
          <option value=0>Валюты</option><option value=1>Фьючерсы</option><option value=2>Индексы</option>    </select>

      </div>
      <div>
        <label for="graph" accesskey="">график:</label>
        <select id="cet" onChange="doLoadUp()" name="graph">
          <option value=EURUSD>EURUSD</option><option value=AUDCAD>AUDCAD</option><option value=AUDCHF>AUDCHF</option><option value=AUDJPY>AUDJPY</option><option value=AUDNZD>AUDNZD</option><option value=AUDSGD>AUDSGD</option><option value=AUDUSD>AUDUSD</option><option value=CADJPY>CADJPY</option><option value=CHFJPY>CHFJPY</option><option value=EURAUD>EURAUD</option><option value=EURCAD>EURCAD</option><option value=EURCHF>EURCHF</option><option value=EURGBP>EURGBP</option><option value=EURJPY>EURJPY</option><option value=EURNOK>EURNOK</option><option value=EURNZD>EURNZD</option><option value=EURSEK>EURSEK</option><option value=GBPAUD>GBPAUD</option><option value=GBPCAD>GBPCAD</option><option value=GBPCHF>GBPCHF</option><option value=GBPJPY>GBPJPY</option><option value=GBPUSD>GBPUSD</option><option value=NZDCAD>NZDCAD</option><option value=NZDJPY>NZDJPY</option><option value=NZDSGD>NZDSGD</option><option value=NZDUSD>NZDUSD</option><option value=USDCAD>USDCAD</option><option value=USDCHF>USDCHF</option><option value=USDDKK>USDDKK</option><option value=USDHKD>USDHKD</option><option value=USDJPY>USDJPY</option><option value=USDMXN>USDMXN</option><option value=USDNOK>USDNOK</option><option value=USDSEK>USDSEK</option><option value=USDSGD>USDSGD</option><option value=USDZAR>USDZAR</option>    
        
        </select>

      </div>
      <div>
        <label for="interval" accesskey="">интервал:</label>
        <select    id="time" onChange="doLoadUp()" name="interval">
          <option  value=5>5 минут</option><option  value=15>15 минут</option><option  value=30>30 минут</option><option  value=60>час</option><option  value=240>4 часа</option><option  value=1440>сутки</option><option  value=10080>неделя</option>    </select>

      </div>
      <div>
        <label for="type" accesskey="">тип:</label>
        <select    id="typef" onChange="doLoadUp()" name="type">
          <option   value=1>Свечи</option><option   value=2>Бары</option><option   value=3>Линия</option>    </select>
      </div>

      <div>
        <label for="sl_average" accesskey="">ск. среднии:</label>
        <select id="typesk" onChange="doLoadUp()" name="sl_average">
          <option  value=0>none</option><option  value=1>SMA</option><option  value=2>EMA</option>    </select>
        <input id="typesk_sh" onKeyPress="doLoadUp()" value="14" size="2" maxlength="3">
      </div>

      <div>
        <label for="indicators" accesskey="">индикаторы:</label>
        <select id="typeind"  name="indicators"  onchange="document.getElementById('typeind_sh').value=(document.getElementById('typeind').value=='2'?'0.02':'7');doLoadUp();">
          <option value=0>none</option><option value=1>Bollinger Bands</option><option value=2>Parabolic</option>    </select>
        <input id="typeind_sh" onKeyPress="doLoadUp()" value="14" size="2"    maxlength="6">
      </div>

      </fieldset>
      
    <noscript>
    <b>Для работы теханализа необходимо включить поддержку Javascript в Вашем браузере!</b><br>
    </noscript>
    <div id="result"> </div>

    <fieldset class="opt_indicators">
      <legend>Доп. индикаторы</legend>
      <select    id="typeind1" onChange="with(document.getElementById('subItem2').style) display = (document.getElementById('typeind1').value=='0'?'none':'block');doLoadUp();">
        <option value=0>none</option><option value=1>DMI</option><option value=2>MACD</option><option value=3>Momentum</option><option value=4>RSI</option><option value=5>Stochastic Classic</option>  </select>

      <input id="typeind_sh1" onKeyPress="doLoadUp()" value="14" size="2"    maxlength="6">
      <input id="typeind_sh1_1" onKeyPress="doLoadUp()" value="7" size="2"    maxlength="6">
      <div id=subItem2 style='display: none;'>
        <select    id="typeind2" onChange="with(document.getElementById('subItem3').style) display = (document.getElementById('typeind2').value=='0'?'none':'block');doLoadUp();">
          <option value=0>none</option><option value=1>DMI</option><option value=2>MACD</option><option value=3>Momentum</option><option value=4>RSI</option><option value=5>Stochastic Classic</option>    </select>

        <input  size="2"  maxlength="6" value="14" id="typeind_sh2" onKeyPress="doLoadUp()">
        <input size="2"   maxlength="6" value="7" id="typeind_sh2_1" onKeyPress="doLoadUp()">
        <div id=subItem3 style='display: none;'>
          <select    id="typeind3" onChange="doLoadUp()">
            <option value=0>none</option><option value=1>DMI</option><option value=2>MACD</option><option value=3>Momentum</option><option value=4>RSI</option><option value=5>Stochastic Classic</option>      </select>

          <input size="2"   maxlength="6" value="14" id="typeind_sh3" onKeyPress="doLoadUp()">
          <input  size="2"  maxlength="6" value="7" id="typeind_sh3_1" onKeyPress="doLoadUp()">
        </div>
      </div>
     
      </fieldset>
    </form>
    <div  id="result1"> </div>
    <br>
    <div  id="result2"> </div>
    <br>

    <div  id="result3"> </div>
                </div>    
    </div>
    </div>
     
Статус темы:
Закрыта.