0

我正在尝试使用 php 从 Instagram url 中抓取图像 url。图片网址似乎包含在页面顶部的元标记中,如下所示:

<meta property="og:image" content="http://distilleryimage10.ak.instagram.com/9e4360c6220411e38abf22000a1f9bf5_7.jpg" />

从这里我想返回内容部分,例如http://distilleryimage10.ak.instagram.com/9e4360c6220411e38abf22000a1f9bf5_7.jpg

我需要对多个图像执行此操作,因此即使 url 发生更改,我也需要提取此图像。

我到目前为止的代码是

$page = file_get_contents('http://instagram.com/p/efH-NVOTAy/#');
preg_match("/og:image/", $page, $matches);
print_r($matches);

这将打印 Array ( [0] => og:image )

只要它匹配'og:image'并确认它可以在从file_get_contents返回的数据中找到这个字符串,它就可以工作,但我不确定如何实现从这一行返回url的飞跃?

4

1 回答 1

1

尝试以下操作:

/og:image"\s*content="([^"]+)"/

这会寻找og:image然后寻找content它,如果它找到一个,那么它会将值(无论在双引号内"捕获到捕获组 1 中。

所以你应该收到一个包含两个元素的匹配数组,第二个是 URL。

正则表达式 101 演示

警告:一般不要使用正则表达式来解析 HTML,而是始终使用 HTML 解析器。

于 2013-09-21T08:51:02.133 回答