xpath получение данных из iframe domXPath php - PullRequest
0 голосов
/ 25 мая 2019

Я играю в технику скрепления сайта, для бывшей ссылки , она всегда возвращается пустой для описания.Причина в том, что он заполняется JS следующим кодом: Как мы поступим с этими видами senarios.

// Frontend JS
P.when('DynamicIframe').execute(function(DynamicIframe){
    var BookDescriptionIframe = null,
        bookDescEncodedData = "book desc data",
        bookDescriptionAvailableHeight,
        minBookDescriptionInitialHeight = 112,
        options = {},
        iframeId = "bookDesc_iframe";

Я использую php domxpath, как показано ниже

    $file = 'sample.html';
    $dom = new DOMDocument();
    $dom->preserveWhiteSpace = false;
    // I am saving the returned html to a file and reading the file.
    @$dom->loadHTMLFile($file);
    $xpath = new DOMXPath($dom);

    // This xpath works on chrome console, but not here
    // because the content is dynamically created via js
    $desc  = $xpath->query('//*[@id="bookDesc_iframe"]')

1 Ответ

0 голосов
/ 26 мая 2019

Каждый раз, когда вы видите такого рода контент, сгенерированный JavaScript, и особенно от таких больших ребят, как amazon, google, вы должны сразу думать, что у него будет реализация изящной деградации.

Это означает, что это будет сделано для случаев, когда Javascript не работает, как ссылки браузер для лучшего охвата браузера.

В поисках <noscript> вы можете найти его. и с этим вы можете решить проблему.

...