Web scraping 如何在PHP中抓取ajax调用

Web scraping 如何在PHP中抓取ajax调用,web-scraping,simple-html-dom,Web Scraping,Simple Html Dom,请让我知道,在用PHP加载ajax之后,是否可以删除一些信息?我只对静态页面使用了SIMPLE_HTML_DOM 谢谢你的建议。删除整个网站 抓取动态内容需要实际呈现页面。PHP服务器端刮刀只需执行简单的文件获取内容或类似操作。大多数基于服务器的刮板不会呈现整个站点,因此不会加载Ajax调用生成的动态内容 像硒这样的东西应该起作用。快速谷歌搜索找到了许多关于如何设置它的例子 只删除Ajax调用 虽然我不考虑这种擦除,但您可以通过浏览器浏览器工具来检查Ajax调用。在chrome中,在站点上点击F

请让我知道,在用PHP加载ajax之后,是否可以删除一些信息?我只对静态页面使用了SIMPLE_HTML_DOM

谢谢你的建议。

删除整个网站 抓取动态内容需要实际呈现页面。PHP服务器端刮刀只需执行简单的文件获取内容或类似操作。大多数基于服务器的刮板不会呈现整个站点,因此不会加载Ajax调用生成的动态内容

像硒这样的东西应该起作用。快速谷歌搜索找到了许多关于如何设置它的例子

只删除Ajax调用 虽然我不考虑这种擦除,但您可以通过浏览器浏览器工具来检查Ajax调用。在chrome中,在站点上点击
F12
打开开发工具控制台

然后你会看到一个像上面这样的窗口。点击
网络
选项卡,然后点击chrome的刷新按钮。这将显示您与网站之间的每个请求。然后可以过滤掉特定的请求

例如,如果您对Ajax调用感兴趣,可以选择
XHR

然后,您可以单击“表格”部分中列出的任何项目以获取更多信息

在AJAX调用中获取文件内容 根据API对这些ajax调用的健壮程度,您可以执行以下操作

<?php 
$url = "http://www.example.com/test.php?ajax=call";
$content = file_get_contents($url);
?>
但是,对于站点上的每个AJAX请求,您都必须这样做。除此之外,您还必须使用与本文所述类似的解决方案

最后,还可以实现渲染整个站点

总结
如果您只需要特定ajax调用返回的数据,那么您可以使用file\u get\u内容获取这些数据。但是,如果您试图刮取整个站点,而该站点恰好也使用AJAX来操作文档,那么您将无法使用简单的HTML DOM。

最后,我解决了我的问题。我只是从ajax调用中获得一个包含所有参数的POST url,并使用SIMPLE_HTML_DOM类发出相同的请求。

您是让服务器发出ajax请求,还是在客户端运行PHP?也许,如果您向我们展示您已经拥有的代码,我们可以帮助找到问题。我正在PHP客户端上运行。就像现在一样,我只想知道怎么玩这些把戏;]我已经知道这个解决方法,但我需要的是直接从PHP代码中从某个站点获取数据?你真的想获得网站的PHP源代码吗?我想知道是否可以使用与类SIMPLE\u HTML\u DOM类似的方法。@Tetsu我更新了我的答案,向你展示了如何获得数据。但如果没有澄清,我很难知道你想做什么。简单地说,我想从这个网站上删除内容:
$data = json_decode($content);