2015-01-13 101 views
-2

我想使用XPath解析HTML文档。我在php中使用file_get_contents()函数“提取”HTML文档的内容。使用php触发JavaScript滚动事件

问题是,我永远不会得到页面的全部内容,因为有一些JavaScript实现,当用户滚动时请求更多的内容。例如:demo

我已经阅读了关于answer on another stack exchange portal中提到的一些“浏览器组件”,但我无法找到符合我的特殊需求的东西。

有没有办法用php触发这些滚动事件?有没有其他的选择我如何获得整页内容?

+0

不能。你不能做任何与JavaScript相关的或与PHP相关的东西。但是,您可以解析最后出现的ID的html源代码,然后通过向特定脚本发出请求来请求更多数据。只要看看你的链接演示的源代码。 –

+0

在PHP中,您应该获得最大数量的元素(即前10个元素),并通过ajax(即11到20,21到30等)发送下一个开始和结束限制到服务器以便获取更多元素并呈现它们。 –

回答

0

我假设你想刮页。 我会避免在这里使用PHP。 用刮取页面PhantomJS可能会导致更坚实的方法。

不过你问了一个php解决方案。

使用的技术称为ajax分页。 您可以使用浏览器的网页开发工具找出网址和参数(查看工具的网络部分)。

我更喜欢Firefox的Firebug。

当你得到正确的参数后,你可以调用这个URL file_get_contents(),通过调整参数你可以加载下面的页面。