【问题标题】:Get vine image with cURL使用 cURL 获取藤蔓图像
【发布时间】:2016-10-04 19:18:18
【问题描述】:

我正在尝试使用 cURL 获取藤蔓图像,但它返回为空。

我想从 vine 元标记中提取图像

<meta property="twitter:image:src" content="https://v.cdn.vine.co/r/thumbs/C40D8A18E21388329752896937984_58406422053.35.0.D4119957-7F82-4C6F-94EC-4732C58E79E1.mp4.jpg?versionId=lWIZyat1QyiI8rjnz3KFsbWtuOoUmGFn">`

这是我的代码

$ch1eckUrl = "https://vine.co/v/51wPzgnEHLb";

function getVineVideoFromImage($ch1eckUrl) {
    $ch1 = curl_init($ch1eckUrl);
    curl_setopt($ch1, CURLOPT_RETURNTRANSFER, 1);
    $res1 = curl_exec($ch1);
    preg_match('/twitter:image:src.*content="(.*)"/', $res1, $opimage);
    $VineImage = $opimage[1];
}

如果有人可以指出我在这里做错了什么,请申请

【问题讨论】:

  • 完成了任何基本的调试,比如var_dump($res1),看看你是否真的获取了任何东西?检查 preg_match 是否真的发现了什么?你只是假设什么都不会出错,而且总会找到一些东西。显然这些都是错误的假设。
  • $CheckUrl = "https://vine.co/v/51wPzgnEHLb" - 这里缺少;,只是说,如果这是你的真实代码。
  • @MarcB 当我做同样的事情来获取视频链接时,它工作正常。因此,这意味着它可以很好地处理内容。它只是不适用于图像
  • @Fred-ii- 仅用于示例。 URL 取自表单。无论如何生病编辑并添加它。
  • $ch1eckUrl - 里面应该有1 吗?另外,如果您打算使用$checkUrl,那么该变量对于$CheckUrl 是区分大小写的。无论哪种方式,看看错误报告必须说什么。 php.net/manual/en/function.error-reporting.php 并取决于您如何调用 getVineVideoFromImage() 函数。

标签: php curl


【解决方案1】:

答案已经发布在这里:How to get Vine video url

你甚至复制了一个答案。只需将twitter:player:stream. 替换为twitter:image:src

我的错,没看过图片

就此而言,还有一种更简单的方法:

<?php

    $ch1eckUrl = 'https://vine.co/oembed/51wPzgnEHLb.json';

    function getVineVideoFromImage($ch1eckUrl) {

        $json = json_decode(file_get_contents($ch1eckUrl), true);

        return $json['thumbnail_url'];

    }

    $VineImage = getVineVideoFromImage($ch1eckUrl);

    echo($VineImage);

?>

Vine 服务器 JSON,所以只需获取它并对其进行解码,就可以得到 url。

【讨论】:

    猜你喜欢
    • 2014-06-03
    • 2014-03-01
    • 1970-01-01
    • 2015-02-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多