为什么PHP简单的HTML DOM解析器不会从localhost解析一些网站?

时间:2013-04-24 23:37:32

标签: php parsing simple-html-dom

我正在尝试使用php simple html dom parser,显然它不会从localhost解析一些网站。如果我在线上传脚本,那么一切都很完美,但localhost失败,只在某些网站上。我相信这是因为目的地网站已经实施了某种检查,但我想不出它可能是什么...... 有人知道为什么会这样吗?

1 个答案:

答案 0 :(得分:2)

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

E.G。 Facebook的。

如果问题仅在您使用localhost时发生,您可以尝试编辑您的hosts文件并添加以下行:

127.0.0.1 mytestingserver.com

然后以与使用localhost访问文件相同的方式访问您的文件,而不是使用localhost:

mytestingserver.com

例如:

mytestingserver.com/simple-html-dom.php

并查看内容是否加载。

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