Página JS da raspagem da canvas

Estou tentando raspar esta página http://www.buddytv.com/trivia/game-of-thrones-trivia.aspx e não está funcionando.

eu tentei

$html = new simple_html_dom(); $html->load_file($url); 

Mas para a pergunta que estou procurando pegar (.trivia-question) não pode ser encontrada. Alguém pode me dizer o que estou fazendo de errado?

Muito obrigado!

E tentei

  loadHTML($Page); $dom_xpath_admin = new DOMXpath($dom_document_admin); $elements = $dom_xpath->query('//*[@id="id60questionText"]'); var_dump($elements); 

Ok, então, aqui está o exemplo phantomjs:

Você precisa baixar phantomjs de: http://phantomjs.org/ , coloque em algum lugar onde você possa acessar facilmente por um script.

Teste-o executando {installdir} / bin / phantomjs (phantomjs.exe no Windows) –versão

Em seguida, crie o arquivo JS em algum lugar em seu projeto, ex browser.js

 var page = require('webpage').create(); page.open('http://www.buddytv.com/trivia/game-of-thrones-trivia.aspx', function() { page.includeJs("http://ajax.googleapis.com/ajax/libs/jquery/1.6.1/jquery.min.js", function() { search = page.evaluate(function() { return $('#id60questionText').text(); }); console.log(search); phantom.exit() }); }) 

Em seguida, em seu script PHP, lê-lo como:

 $pathToPhatomJs = '/home/aurimas/Downloads/phantomjs/phantomjs-1.9.1-linux-x86_64/bin/phantomjs'; $pathToJsScript = '/home/aurimas/Downloads/phantomjs/phantomjs-1.9.1-linux-x86_64/browser.js'; $stdOut = exec(sprintf('%s %s', $pathToPhatomJs, $pathToJsScript), $out); echo $stdOut; 

Altere $pathToPhatomJs e $pathToJsScript acordo com sua configuração.

Se você estiver no Windows, isso pode não funcionar. Você pode então alterar o script PHP para:

 $pathToPhatomJs = '/home/aurimas/Downloads/phantomjs/phantomjs-1.9.1-linux-x86_64/bin/phantomjs'; $pathToJsScript = '/home/aurimas/Downloads/phantomjs/phantomjs-1.9.1-linux-x86_64/browser.js'; exec(sprintf('%s %s > phatom.txt', $pathToPhatomJs, $pathToJsScript), $out); $fileContents = file_get_contents('phatom.txt'); echo $fileContents;