【问题标题】:cURL - Fetch data only if html page (link)cURL - 仅在 html 页面(链接)时获取数据
【发布时间】:2011-04-01 14:30:53
【问题描述】:

我正在构建一个 CSS Optimizer 网站,在此我将提供一个选项,用户提交网站 URL,在后端,服务器将解析该域中的所有 anchorslink 标签。因此,这将使网站能够连接 + 压缩 css,这可能在所有不同页面上都是唯一的。

由于我的网站需要anchor (html)<link> 我应该怎么做才能避免获取non-html (like .doc, .pdf) 等的链接

【问题讨论】:

    标签: php html curl web-crawler


    【解决方案1】:

    我认为你不能只回答目标的扩展。干净的 URL 最后通常不会有扩展名,可能会生成内容。

    您可能应该对每个 URL 执行 HTTP HEAD,然后检查返回的 Content-Type。

    【讨论】:

    • 是的,我知道 CURLOPT_NOBODY,但这意味着我必须为每个 <a> 提出 2 个请求,还有其他选项吗?
    • 是的,但是使用 HEAD,您不必获取整个资源。只是基本信息。
    【解决方案2】:

    mime_content_type()检查相关链接的mime类型怎么样?

    【讨论】:

    • 结果与 curl 相同。 (实际上它比从 curl 发出 2 个请求要慢一些)但这是一个非常受欢迎的建议。
    猜你喜欢
    • 2011-10-25
    • 2014-08-19
    • 2011-01-15
    • 1970-01-01
    • 2015-04-30
    • 1970-01-01
    • 1970-01-01
    • 2018-12-01
    • 2019-03-07
    相关资源
    最近更新 更多