Ver Mensaje Individual
  #10 (permalink)  
Antiguo 05/06/2017, 06:17
bienpiyao
 
Fecha de Ingreso: agosto-2009
Mensajes: 216
Antigüedad: 14 años, 8 meses
Puntos: 3
Respuesta: Sacar datos de una URL

Cita:
Iniciado por __SDP__ Ver Mensaje
el problemas es que llega como string pero interiormente como objeto y lo limpie y lo deje como objeto y ahora se puede acceder igual que el anterior

Código PHP:
Ver original
  1. $url = 'https://www.google.com/finance/info?client=ig&q=BME:SAN';
  2. $data = file_get_contents($url);
  3.  
  4. $d = trim(substr($data, 5, -2));
  5. $d = json_decode($d);
  6. //print_r($d);
  7. echo $d->l;

:apla uso:

Eres un crack! Funciona a la perfección, muchísimas gracias!! (Como se puede observar, estoy muy verde con el tema json...).

Ahora tengo una nueva, y super abusando de tu amabilidad y sabiduría, la dejo por aquí a ver si hay suerte...

Estoy intentando sacar unos cuantos parámetros de un valor en bolsa. He probado varios scrips y no consigo dar con el dato (la cotización y demás es más sencillo). La URL que creo que puede contener el dato es esta:

Código:
https://query.yahooapis.com/v1/public/yql?q=select%20*%20from%20yahoo.finance.quotes%20where%20symbol%20in%20(%22BME:SAN%22)&format=json&diagnostics=true&env=store%3A%2F%2Fdatatables.org%2Falltableswithkeys&callback=
Esto me muestra lo siguiente:

Código:
{
    "query": {
    "count": 0,
        "created": "2017-06-02T11:01:13Z",
        "lang": "en-GB",
        "diagnostics": {
            "url": [
                {
                    "execution-start-time": "0",
                    "execution-stop-time": "1",
                    "execution-time": "1",
                    "content": "http://www.datatables.org/yahoo/finance/yahoo.finance.quotes.xml"
                },
                {
                    "execution-start-time": "4",
                    "execution-stop-time": "10",
                    "execution-time": "6",
                    "content": "http://download.finance.yahoo.com/d/quotes.csv?f=aa2bb2b3b4cc1c3c4c6c8dd1d2ee1e7e8e9ghjkg1g3g4g5g6ii5j1j3j4j5j6k1k2k4k5ll1l2l3mm2m3m4m5m6m7m8nn4opp1p2p5p6qrr1r2r5r6r7ss1s7t1t7t8vv1v7ww1w4xy&s=BME%3ASAN"
                }
            ],
                "publiclyCallable": "true",
                "cache": {
                "execution-start-time": "3",
                    "execution-stop-time": "3",
                    "execution-time": "0",
                    "method": "GET",
                    "type": "MEMCACHED",
                    "content": "5d1e1de680846a307c9874dc3d6878dc"
            },
            "csv": "Column mismatch: [Ask, AverageDailyVolume, Bid, AskRealtime, BidRealtime, BookValue, Change&PercentChange, Change, Commission, Currency, ChangeRealtime, AfterHoursChangeRealtime, DividendShare, LastTradeDate, TradeDate, EarningsShare, ErrorIndicationreturnedforsymbolchangedinvalid, EPSEstimateCurrentYear, EPSEstimateNextYear, EPSEstimateNextQuarter, DaysLow, DaysHigh, YearLow, YearHigh, HoldingsGainPercent, AnnualizedGain, HoldingsGain, HoldingsGainPercentRealtime, HoldingsGainRealtime, MoreInfo, OrderBookRealtime, MarketCapitalization, MarketCapRealtime, EBITDA, ChangeFromYearLow, PercentChangeFromYearLow, LastTradeRealtimeWithTime, ChangePercentRealtime, ChangeFromYearHigh, PercebtChangeFromYearHigh, LastTradeWithTime, LastTradePriceOnly, HighLimit, LowLimit, DaysRange, DaysRangeRealtime, FiftydayMovingAverage, TwoHundreddayMovingAverage, ChangeFromTwoHundreddayMovingAverage, PercentChangeFromTwoHundreddayMovingAverage, ChangeFromFiftydayMovingAverage, PercentChangeFromFiftydayMovingAverage, Name, Notes, Open, PreviousClose, PricePaid, ChangeinPercent, PriceSales, PriceBook, ExDividendDate, PERatio, DividendPayDate, PERatioRealtime, PEGRatio, PriceEPSEstimateCurrentYear, PriceEPSEstimateNextYear, Symbol, SharesOwned, ShortRatio, LastTradeTime, TickerTrend, OneyrTargetPrice, Volume, HoldingsValue, HoldingsValueRealtime, YearRange, DaysValueChange, DaysValueChangeRealtime, StockExchange, DividendYield] vs ",
                "query": {
                "execution-start-time": "3",
                    "execution-stop-time": "10",
                    "execution-time": "7",
                    "params": "{url=[http://download.finance.yahoo.com/d/quotes.csv?f=aa2bb2b3b4cc1c3c4c6c8dd1d2ee1e7e8e9ghjkg1g3g4g5g6ii5j1j3j4j5j6k1k2k4k5ll1l2l3mm2m3m4m5m6m7m8nn4opp1p2p5p6qrr1r2r5r6r7ss1s7t1t7t8vv1v7ww1w4xy&s=BME%3ASAN]}",
                    "content": "select * from csv where url=@url and columns='Ask,AverageDailyVolume,Bid,AskRealtime,BidRealtime,BookValue,Change&PercentChange,Change,Commission,Currency,ChangeRealtime,AfterHoursChangeRealtime,DividendShare,LastTradeDate,TradeDate,EarningsShare,ErrorIndicationreturnedforsymbolchangedinvalid,EPSEstimateCurrentYear,EPSEstimateNextYear,EPSEstimateNextQuarter,DaysLow,DaysHigh,YearLow,YearHigh,HoldingsGainPercent,AnnualizedGain,HoldingsGain,HoldingsGainPercentRealtime,HoldingsGainRealtime,MoreInfo,OrderBookRealtime,MarketCapitalization,MarketCapRealtime,EBITDA,ChangeFromYearLow,PercentChangeFromYearLow,LastTradeRealtimeWithTime,ChangePercentRealtime,ChangeFromYearHigh,PercebtChangeFromYearHigh,LastTradeWithTime,LastTradePriceOnly,HighLimit,LowLimit,DaysRange,DaysRangeRealtime,FiftydayMovingAverage,TwoHundreddayMovingAverage,ChangeFromTwoHundreddayMovingAverage,PercentChangeFromTwoHundreddayMovingAverage,ChangeFromFiftydayMovingAverage,PercentChangeFromFiftydayMovingAverage,Name,Notes,Open,PreviousClose,PricePaid,ChangeinPercent,PriceSales,PriceBook,ExDividendDate,PERatio,DividendPayDate,PERatioRealtime,PEGRatio,PriceEPSEstimateCurrentYear,PriceEPSEstimateNextYear,Symbol,SharesOwned,ShortRatio,LastTradeTime,TickerTrend,OneyrTargetPrice,Volume,HoldingsValue,HoldingsValueRealtime,YearRange,DaysValueChange,DaysValueChangeRealtime,StockExchange,DividendYield'"
            },
            "javascript": {
                "execution-start-time": "2",
                    "execution-stop-time": "10",
                    "execution-time": "7",
                    "instructions-used": "12000",
                    "table-name": "yahoo.finance.quotes"
            },
            "user-time": "10",
                "service-time": "7",
                "build-version": "2.0.134"
        },
        "results": null
    }
}
Me interesaría poder acceder a la parte que he puesto en negrita, pues contiene todos los parámetros que me gustaría obtener, como por ejemplo el PERatio...¿es posible acceder a ellos? ¿Cómo se podría hacer? ¿conocéis alguna alternativa mejor para obtener estos valores que no sea esa URL?

Muchas gracias por anticipado.

Un saludo!!