0

我正在使用 php 开发一个 twitter 搜索 api,它能够搜索 twitter,并从推文中保存发布的图像。这一切都很好,但是对于 facebook,不是在网页中加载图像,而是在响应之后加载。使用 firebug,转到 Net 标签,我可以在 getphoto() 的响应选项卡下看到我需要的 html 源代码。我希望从这个 html 文本中获取一个 img src,但 Facebook 似乎加载了基本结构,然后重新加载了带有图像的页面。

我的问题是:我怎样才能得到这个“响应体”?

我以前使用过 get_headers() ,但我认为它在这种情况下不起作用,我已经在网上搜寻了这个问题的答案,但没有出现。

任何帮助将不胜感激,谢谢。不要认为我的代码有助于解释,但愿意提出一些

编辑:

脸书网址示例:/https://www.facebook.com/photo.php?pid=1258064&l=acb54aab14&id=110298935669685

这会将您带到包含图像的页面

这是图像标签:

img class="fbPhotoImage img" id="fbPhotoImage" src="https://fbcdn-sphotos-a.akamaihd.net/hphotos-ak-ash3/522357_398602740172635_110298935669685_1258064_1425533517_n.jpg" alt=""

但这在响应通过之前不会出现。

由于 twitter 对它们的喜爱,我有一个 get_header 函数来扩展缩短的 URL,这可以从具有多个缩短/重定向的其他 3rd 方照片网站获取和图像。

以前没有使用过 cURL,这是最好/唯一的方法吗?

再次感谢

4

1 回答 1

0

而不是图像与网页一起加载,而是在响应之后加载

我不知道这是什么意思。

我只能猜测您尝试从中获取 html 的 URL(您的代码应该解析该 URL 以提取图像 URL)实际上正在发出重定向。

使用 curl 进行传输并告诉它遵循重定向 - 注意这仅适用于标头重定向 - 不适用于元等效重定向、元刷新重定向或 javascript 位置重定向。

(也许 Faceboo0k 不想让你窃取他们的内容?)

于 2012-04-20T12:55:04.500 回答