【问题标题】:Retrieve images from a link从链接中检索图像
【发布时间】:2012-01-11 08:48:35
【问题描述】:

是否有脚本或服务或 sn-p 或方法或任何可以从 url 获取缩略图的东西,缩略图我不是指网站的快照,而是可以自动获取并用作帖子缩略图的图像,很多就像在 facebook 中使用的一样。因此应该获取图像 img src="xxxxxxx?url=google.com" 。这将获取 google 徽标

【问题讨论】:

    标签: php image url


    【解决方案1】:

    也许有现成的解决方案,但实施起来并不难:

    1. 您需要获取远程站点,例如与file_get_contents
    2. 可选择使用Tidy 清理源HTML
    3. 如果您使用 Tidy 清理获取的数据,则使用 XML parser 解析输出,或者使用 HTML parser
    4. 从站点获取第一张n 图片(n 应该是一个相对较小的数字)
    5. 将此获取的图像集存储在缓存中,因为此获取、解析操作可能需要时间

    评论:

    • 您可以从网站获取robots.txt 以检查是否允许使用/索引内容
    • 为此远程网站的获取设置超时,因为如果网站出现故障或速度变慢,它也会在您的网站上超时
    • 将并发抓取限制在站点和全局范围内,以防止 DoS 攻击
    • 如果允许,您可以使用 HTTP 客户端并限制获取的 HTML 数据大小,或者在下载实际内容之前使用HEAD HTTP 方法获取Content-Length

    【讨论】:

    • 不要对远程站点使用 file_get_contents,使用 CUrl 或 fsocket。
    • 是的,我做到了,我喜欢你的回答,我只是让他知道不要使用 file_get_contents 并像你说的那样使用 http 客户端.... file_get_contents() 被人们懒惰地使用谁在学习 php,它真的不好用于远程文件。很好的答案!这就是我要自己写的。
    • 对不起,我同时投了反对票,我认为它与您的评论有关。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-12-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-12-05
    相关资源
    最近更新 更多