loadHTML возвращает только javascript, он не возвращает исходный код

#php

#php

Вопрос:

Я пытаюсь получить HTML-содержимое страницы, но когда я это делаю, мой file_get_contents возвращает только часть JS.

когда я использую только file_get_contents, я могу видеть содержимое, но я пытаюсь также использовать loadHTML. Поэтому используйте функцию, подобную приведенной ниже.

 function getContent(String $url): DOMDocument
    {
        $opts = array(
            'http' => array(
            'method'=>"GET",
            'header'=>"Content-Type: text/html; charset=utf-8"
            )
        );

        $context = stream_context_create($opts);
        $result = file_get_contents($url,false,$context);

        $parser = new DOMDocument();
        $parser->loadHTML($result = mb_convert_encoding($result,'HTML-ENTITIES', 'ASCII, JIS, UTF-8, EUC-JP, SJIS'));

        return $parser;

    }
  

Но на этот раз я DOMDocument::loadHTML(): Tag header invalid in Entity так пытался преодолеть эту проблему, что использовал libxml_use_internal_errors(true); это, но тогда я просто возвращаю JS-часть страницы…

Как я могу решить проблему?

Ссылки здесь:https://lions-mansion.jp/MF161037 /

Комментарии:

1. file_get_contents загружает все, что обслуживал веб-сервер. Это не «проблема».

2. тогда исходный код скрыт в JS или что-то в этомроде? тогда есть ли способ перехватить этот источник и преодолеть эту «ПРОБЛЕМУ» @zerkms

3. Ничего не скрыто, если вы хотите интерпретировать JS — вам нужен браузер. Возьмите безголовый Google Chrome и извлеките страницу с его помощью.

4. вы уверены, что это file_get_contents , а не ваш уровень кэширования или любая другая обработка, которую вы выполняете? вы пробовали использовать var_dump только для прямого результата file_get_contents? Если я попробую это, я действительно увижу множество html, divs, таблиц и т.д.

5. Примечание сбоку: это @ на вашей file_get_contents вещи подавляет ошибки. Вы этого не хотите — это сильно затруднит отладку, если что-то не так с URL.