如何通过PHP从外部网页获取内容?

时间:2010-12-06 09:42:37

标签: php web web-crawler

我希望在网页中获得“标题”,“描述”和“关键字” 我知道有三种方法可以实现这项工作:

a)使用CURL

b)使用fopen

c)使用get_meta_data()

奇怪的是,上述每一项都不能每次都正常工作。

为同一个网址:

有时,我可以获得内容。

有时,它会返回错误:'无法打开流:HTTP请求失败'

我很困惑.WHY? 帮帮我:)。

3 个答案:

答案 0 :(得分:1)

您可以使用file_get_contents("http://someurl.com");来获取外部网站。

结果将是一个包含网页整个HTML的字符串。然后,您可以使用PHP的HTML解析器解析该HTML,以获取所需的信息。

如El Yobo所述,

EDIT 可以禁用此功能。要启用它,您需要启用fopen wrappers

答案 1 :(得分:0)

可能值得尝试找出错误代码是什么?你试图在第三方服务器上执行HttpRequest - 它可能是他们限制你访问,它也可能是任何其他数量的东西,包括合法的超时,因为你的互联网连接不好,所以它可能值得发布更多数据: - )

答案 2 :(得分:0)

“有时”让我觉得您与服务器的网络连接可能存在问题。您是否尝试直接从服务器浏览页面,例如使用curlwget

否则,我通常按照Luca的建议实现file_get_contents。 http://www.php.net/manual/en/function.file-get-contents.php