Вопрос

Мне было интересно, есть ли какой-нибудь способ создать парсер на PHP, который будет получать значения с этого сайта. https://btc-e.com/api/2/btc_usd/ticker и устанавливает их как переменные в php-коде?

Я немного изучил парсеры PHP и нашел только парсеры, которые отображают всю информацию на веб-сайте.

Это было полезно?

Решение

Поскольку этот URL-адрес возвращает JSON ответ:

<?php

$content=file_get_contents("https://btc-e.com/api/2/btc_usd/ticker");
$data=json_decode($content);
//do whatever with $data now
?>

Другие советы

Вы можете использовать file_get_contents чтобы получить данные из URL-адреса и json_decode для анализа результата, поскольку сайт, на который вы ссылаетесь, возвращает JSON массив, который может быть проанализирован PHP изначально.

Пример:

$bitcoin = json_decode(file_get_contents("https://btc-e.com/api/2/btc_usd/ticker"), true);

в $bitcoin переменной у вас будет ассоциативный массив со значениями строки JSON.

Результат:

array(1) {
  ["ticker"]=>
  array(10) {
    ["high"]=>
    float(844.90002)
    ["low"]=>
    int(780)
    ["avg"]=>
    float(812.45001)
    ["vol"]=>
    float(13197445.40653)
    ["vol_cur"]=>
    float(16187.2271)
    ["last"]=>
    float(817.601)
    ["buy"]=>
    float(817.951)
    ["sell"]=>
    float(817.94)
    ["updated"]=>
    int(1389273192)
    ["server_time"]=>
    int(1389273194)
  }
}

Данные на этой странице называются Json (Обозначение объектов JavaScript) (он не выводится как тип mime json, но имеет формат json).
Если вы знать что данные будут в формате JSON, вы можете получить их как строку со страницы (используя, например, метод file_get_contents функцию) и декодировать его в ассоциативный массив с помощью json_decode функция:

<?php
$dataFromPage = file_get_contents($url);
$data = json_decode($dataFromPage, true);
// Then just access the data from the assoc array like:
echo $data['ticker']['high'];
// or store it as you wish:
$tickerHigh = $data['ticker']['high'];
<?
function GetJsonFeed($json_url)
{
$feed = file_get_contents($json_url);
return json_decode($feed, true);
}
$LTC_USD = GetJsonFeed("https://btc-e.com/api/2/ltc_usd/ticker");
$LTC_USD_HIGH = $LTC_USD["ticker"]["last"];

$BTC_USD = GetJsonFeed("https://btc-e.com/api/2/btc_usd/ticker");
$BTC_USD_HIGH = $BTC_USD["ticker"]["last"];
?>
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top