2011-03-19 68 views
0

我试图检索一个页面的源代码,但问题是一些内容通过AJAX或类似的方式加载..此内容不会出现在正常的源代码中通过PHP的file_get_contents获取。JS运行后获取源代码

有什么办法得到这个? (在服务器端,不通过浏览器开发工具等)。

+0

运行AJAX和获取他们装载的东西确切的代码(HTML,JavaScript的,..)?这是唯一的方法。 – Amber 2011-03-19 19:40:36

+1

除非您基本上使用PHP构建浏览器,否则无法在抓取的页面中“运行”JavaScript。 – 2011-03-19 19:45:03

+0

我还没有访问我想要的源代码的网站,但你究竟是什么意思? – Christoffer 2011-03-19 19:49:04

回答

2

尝试使用Firefox的Web Developer扩展。您可以右键单击某个页面,然后从其中一个Web Developer选项中单击“查看生成的源”。

希望这是你所需要的。

+0

+1我发布了相同的建议。 – 2011-03-19 19:42:21

+0

对不起,这并没有说在原来的问题,但它必须是能够自动运行在服务器上的一些代码。所以Firefox不会这样做:\ – Christoffer 2011-03-19 19:46:50

+0

Marc B在这种情况下是正确的。 AJAX基本上是浏览器运行一些JavaScript修改页面的源代码。如果你可以修改AJAX驱动的页面,你可以编写一个没有JavaScript的浏览器回退,这将解决你的问题。 – 2011-03-19 19:53:54

0

当我需要测试这个时,我使用类似FireBug的东西(对于Firefox而言,可以在其他浏览器上使用'light'版本)。

Firebug是为这个伟大的,因为它会告诉你的是,浏览器是使用生成页面

+0

对不起,这没有说在原来的问题,但它必须是一些代码,可以在服务器上自动运行。所以Firefox不会这样做:\ – Christoffer 2011-03-19 19:47:52

+0

如果你想在服务器解析它之前得到服务器端代码(比如php,asp,java,...),那么你的运气不好。无法通过物理访问服务器,无法解析它。 – dbers 2011-03-20 00:04:41