2015-11-05 1 views
0

Я использую простой DOM парсер (PHP), чтобы извлечь цену доллара от: http://www.lanacion.com.ar/dolar-tarjeta-t50462веб выскабливание, чтобы извлечь долларовая цена

<div class="numero floatFix"> 
    <p class="peso">$</p> 
    <p id="dTarjeta" class="valor x35"> 
     12,920 
    </p> 

Но я получаю followng символ «-» вместо " 12290" . Используемый мной код:

$url_to_traverse = 'http://www.lanacion.com.ar/dolar-tarjeta-t50462'; 
$html = file_get_html($url_to_traverse); 
foreach($html->find('#dTarjeta') as $element) 
{ 
    var_dump($element->text()); 
} 

Что я делаю неправильно?. Надеюсь, что есть решение coz. Я попробовал много библиотек ...

+0

Почему соскабливание? Попробуйте веб-службу для курсов валют, например. https://openexchangerates.org/ – lxg

ответ

1

Это потому, что данные в #dTarjeta подаются с использованием javascript после загрузки страницы. То есть, когда функция file_get_html читает URL, Thsi является то, что он выглядит следующим образом:

<p id="dTarjeta" class="valor x35">-</p> 

Очевидно, что после загрузки страницы, текст в #dTarjeta изменяется с помощью JavaScript с помощью вызова Ajax или что-то (Havent проверил его).

Таким образом, ответ на ваш вопрос заключается в том, что вы получаете правильный вывод, поскольку PHP не может отображать страницы с javascript клиента, и он отображает только то, что сервер отправляет в первую очередь.

Я бы рекомендовал вам использовать технологии Phantomjs или simialr для очистки этих страниц.

Проверьте это с помощью: Вид-источник: http://www.lanacion.com.ar/dolar-tarjeta-t50462

Кроме того, вы можете использовать этот StackOverflow вопрос: Scrape web pages in real time with Node.js для справки.

Additonally, если вы предпочитаете использовать другие источники для получения валютных ценностей, рассмотреть вопрос об использовании

  1. http://fixer.io/ - бесплатное API для JSON.
  2. https://openexchangerates.org/ - Одинаковые
  3. Yahoo Finance API,

Эта ссылка поможет вам справиться с JSON API, с помощью PHP. Get data from JSON file with PHP

+0

Спасибо, ты очень! Я думал о поиске сайтов, которые предлагают api, а не соскабливания ... Не будет использовать узел, но я планирую рассмотреть возможность использования ... Знаете ли вы хороший хостинг-сайт? ... Тот, который у меня нет, не поддерживается; vaa, я должен спросить ... Thankx – AgusDesign

+0

Жаль, что опоздал, меня не было. Какой хостинг вам нужен? Если вам нужны данные о ценах в реальном времени, есть несколько API. Я отредактирую ответ соответственно. Если ответ поможет, отметьте его как правильный ответ :-) Так что другим будет легче экономить время. – Sak90

Смежные вопросы