chojnicki/video-platforms-parser

易于使用的SDK,一次性抓取多个平台(如YouTube、Dailymotion、Facebook等)的视频。

v1.4.1 2024-08-15 08:41 UTC

This package is auto-updated.

Last update: 2024-09-15 09:00:50 UTC


README

Video Platforms Parser 是一个易于使用的SDK,可以一次性抓取多个平台(如YouTube、Dailymotion、Facebook等)的视频。

要求

  • PHP 7.0 或更高版本
  • Laravel 5.4 或更高版本(未在更低版本上测试,但应在5.*版本上工作)

支持的平台

  • 带有API - 解析器使用官方API(默认)- 快速且可靠(但YouTube需要API密钥)
  • 不带API - 解析器将抓取视频页面并解析所需信息(在不提供API的平台或作为备份时使用)- 可能较慢且不可靠

使用API的每个解析器都有一个不带API的解析器作为备份。要使用它,您需要在配置中禁用所选平台的API(不推荐)。

使用Composer安装

只需使用composer要求包

composer require chojnicki/video-platforms-parser

没有Composer或Laravel的安装

下载此存储库的zip文件,并将其解压到您的PHP项目中。要求VideoPlatformsParser文件

require '/video-platforms-parser/src/VideoPlatformsParser.php';

使用Laravel的使用

使用composer要求包

composer require chojnicki/video-platforms-parser

发布配置

php artisan vendor:publish --provider="Chojnicki\VideoPlatformsParser\ServiceProvider"

现在您可以开始像这样抓取信息

$info = VideoPlatformsParser::get('https://www.youtube.com/watch?v=jofNR_WkoCE');

没有Laravel但有Composer的使用

如果之前未要求,请将Composer要求添加到项目中

require_once 'vendor/autoload.php';

创建新对象

$parser = new Chojnicki\VideoPlatformsParser\VideoPlatformsParser(); // put array config inside

像这样抓取视频信息

$info = $parser->get('https://www.youtube.com/watch?v=jofNR_WkoCE');

没有Laravel和没有Composer的使用

要求解析器

require '/video-platforms-parser/src/VideoPlatformsParser.php';

手动加载将使用的每个视频平台的解析器

require '/video-platforms-parser/src/parsers/YouTube.php';

创建新对象

$parser = new Chojnicki\VideoPlatformsParser\VideoPlatformsParser(); // put array config inside

像这样抓取视频信息

$info = $parser->get('https://www.youtube.com/watch?v=jofNR_WkoCE');

返回数据

对于每个支持的平台,解析器将返回包含以下内容的数组:

  • id: 视频ID
  • platform: 网站名称
  • title: 视频标题
  • description: 视频描述
  • thumbnail: 最高可能分辨率的图片URL
  • tags: 关键字数组
  • duration: 时长(秒)(LiveLeak和Facebook尚未支持 [更多信息]
  • api: 如果使用了官方平台API则为true,否则为false

可选配置

配置位于video-platforms-parser.php中,或者您可以传递包含VideoPlatformsParser对象的数组

默认配置

[
    'youtube_api_key' => '',
    'youtube_api_disabled' => false,
    'dailymotion_api_disabled' => false,
    'vimeo_api_disabled' => false,
    'streamable_api_disabled' => false,
    'twitter_api_bearer_token' => '',
    'twitter_api_disabled' => false
]