为什么PHP简单的HTML DOM解析器不能解析一些站点从本地主机


Why PHP Simple HTML DOM Parser wont parse some sites from localhost?

我试图使用php简单的html dom解析器,显然它不会解析一些网站从本地主机。如果我在网上上传脚本,那么一切都是完美的,但本地主机失败,只在一些特定的网站。我相信这是因为目标网站实施了某种检查,但我想不出它可能是什么……有人知道为什么会这样吗?

正如你提到的,一些网站有适当的机制,不允许未经授权的第三方工具解析其内容。

如Facebook。

如果问题只发生在本地主机上,您可以尝试编辑hosts文件并添加以下行:

127.0.0.1 mytestingserver.com

然后像使用localhost访问文件一样访问你的文件,但是使用:

mytestingserver.com

例如:

mytestingserver.com/simple-html-dom.php

并查看内容是否加载。

如果它工作可能页面你试图解析只检查请求是否来自一个域名或不;如果没有,那么他们可能有一个更复杂的保护机制,你要做的是不被允许,或者有一个更好的方法(例如API)。