【问题标题】:how to get content from external web page by php?如何通过php从外部网页获取内容?
【发布时间】:2010-12-06 09:42:37
【问题描述】:

我想在网页中获取'title'、'description'和'keywords' 我知道实现这项工作的3种方法:

a) 使用 CURL

b) 使用 fopen

c) 使用 get_meta_data()

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

对于相同的网址:

有时候,我可以得到内容。

有时会返回错误:'failed to open stream: HTTP request failed'

我很困惑。为什么? 帮帮我:)

【问题讨论】:

标签: php web web-crawler


【解决方案1】:

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

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

EDIT 如 El Yobo 所述,可以禁用此功能。要启用它,您需要启用fopen wrappers

【讨论】:

  • 请注意,出于安全原因,这通常被禁用;检查 allow_url_fopen 是否已启用,并考虑禁用它并使用 curl 代替,即使它是:)
【解决方案2】:

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

【讨论】:

    【解决方案3】:

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

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

    【讨论】:

      猜你喜欢
      • 2011-02-11
      • 1970-01-01
      • 2013-04-21
      • 2014-10-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多