2014-11-06 1 views
1

Я пытаюсь прочитать страницу предложений aliexpress.com через php. Я не могу получить информацию о странице на выходе.Не удалось прочитать aliexpress.com через php

Есть ли способ получить подробности.

Ниже приведен код.

<?php 
    include('simple_html_dom.php'); 
    $url = 'http://activities.aliexpress.com/superdeals.php'; 
    $xml = file_get_html($url); 
    //$file = 'output1.txt'; 
    $element = $xml; 
    echo $element; 
?> 
+1

Выполнен какой-либо основной отладкой? Как пропустить simplehtml и сделать 'var_dump (file_get_contents ('http: // ....'))', чтобы увидеть необработанные возвращенные данные? –

+0

Эта страница отображается в javascript, возможно, специально для того, чтобы запретить то, что вы пытаетесь сделать. – cOle2

ответ

0

Этот сайт используется AJAX
Есть два решения:
- сделать такой же запрос, как Javascript
- Используя инструмент, как Phantomjs

Если вы посмотрите на просьбы, вы легко, что найти запрос GET и возвращает всю информацию в JSON. Итак, вам нужно найти ссылку или использовать стороннюю библиотеку + инструменты.

EDIT:

Вы можете использовать веб-браузер, чтобы получить ссылку (я не даю вам это, потому что я думаю, что StackOverflow не для этого) с firebug или если вы используете хром, в закладке сети ищите JSON.

$url = "...."; 
$str = file_get_contents($url); 
if($str) { 
    $json = json_decode($str, true); // json is an array 
    // ... do what you need 
} 

Я рекомендую использовать curl вместо file_get_contents по многим причинам.

Или вы можете использовать Phantomjs (это действительно сложнее) и получить «HTML снимок», а затем использовать DOM или XPATH, чтобы получить то, что вам нужно, но вы должны запустить Phantomjs и использовать библиотеку третьей стороны для общения с ним.

+0

Спасибо, попробуем и обновим вас в ближайшее время. У вас есть примеры кода для того же самого? – user3138111

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