как получить содержимое из контейнера div с двумя именами классов (imdb) - PullRequest
0 голосов
/ 24 октября 2018

Извините за мой английский.

всем,

Я получаю белую страницу, когда пытаюсь запросить содержимое в контейнере DIV URL.

$html = file_get_contents('https://www.imdb.com/search/title?title_type=feature,tv_movie&release_date=,2018'); //get the html returned from the following url

$doc = new DOMDocument();

libxml_use_internal_errors(TRUE); //disable libxml errors

if(!empty($html)){ //if any html is actually returned

    $doc->loadHTML($html);
    libxml_clear_errors(); //remove errors for yucky html

    $xpath = new DOMXPath($doc);

    //get all the h2's with an id
    $row = $xpath->query("//div[contains(@class, 'lister-item-image') and contains(@class, 'float-left')]/a");

    if($row->length > 0){
        foreach($row as $row){
            echo $row->nodeValue . "<br/>";
        }
    }
}

Содержимое можно найти в этом DIV.

<div class="lister-item-image float-left">


<a href="/title/tt1502407/?ref_=adv_li_i"
> <img alt="Halloween"
class="loadlate"
loadlate="https://m.media-amazon.com/images/M/MV5BMmMzNjJhYjUtNzFkZi00MWQ4LWJiMDEtYWM0NTAzNGZjMTI3XkEyXkFqcGdeQXVyOTE2OTMwNDk@._V1_UX67_CR0,0,67,98_AL_.jpg"
data-tconst="tt1502407"
height="98"
src="https://m.media-amazon.com/images/G/01/imdb/images/nopicture/large/film-184890147._CB470041630_.png"
width="67" />
</a>        </div>

Я в основном хочу запросить имя, ссылку, жанр и длину.И максимум 50 должно отображаться, и должна быть запрошена ссылка «Далее» на следующие 50.

Заранее благодарю за возможную помощь.

1 Ответ

0 голосов
/ 05 ноября 2018

Рабочая версия:

Благодаря Мухаммеду.

$html = file_get_contents('https://www.imdb.com/search/title?title_type=feature,tv_movie&release_date=,2018'); //get the html returned from the following url

$doc = new DOMDocument();

libxml_use_internal_errors(TRUE); //disable libxml errors

if(!empty($html)){ //if any html is actually returned

    $doc->loadHTML($html);
    libxml_clear_errors(); //remove errors for yucky html

    $xpath = new DOMXPath($doc);

    //get all the h2's with an id
    $row = $xpath->query("//div[contains(@class, 'lister-item-image') and contains(@class, 'float-left')]");

    if($row->length > 0){
        foreach($row as $row){
            echo $doc->saveHtml($row) . "<br/>";
        }
    }
}
...