我正在尝试使用php从Instagram网址中抓取图片网址。图片网址似乎包含在页面顶部的元标记中,如下所示:
<meta property="og:image" content="http://distilleryimage10.ak.instagram.com/9e4360c6220411e38abf22000a1f9bf5_7.jpg" />
由此我想返回内容部分,例如http://distilleryimage10.ak.instagram.com/9e4360c6220411e38abf22000a1f9bf5_7.jpg
我需要为多个图像执行此操作,因此即使网址发生更改,我也需要提取此图像。
到目前为止我的代码是
$page = file_get_contents('http://instagram.com/p/efH-NVOTAy/#');
preg_match("/og:image/", $page, $matches);
print_r($matches);
这会打印数组([0] =&gt; og:image)
这适用于匹配'og:image',并向我确认它可以在从file_get_contents返回的数据中找到此字符串,但我不知道如何从这一行返回url的跳跃?
答案 0 :(得分:0)
尝试以下方法:
/og:image"\s*content="([^"]+)"/
这会查找og:image
,然后在其后面查找content
,如果找到,则会捕获值(无论内部双引号"
)进入捕获组1。
所以你应该收到一个包含两个元素的匹配数组,第二个是URL。
警告:一般不要使用正则表达式解析HTML,而是使用HTML解析器。