Giter Club home page Giter Club logo

video-url-parser's Introduction

video-url-parser

解析Youtube,Youku,Tudou,iQiyi,Souhu,QQ,Sina,LeTV等视频网站的url,得到视频的id等源信息;同时可以根据得到的源信息创建不同格式的播放链接。

Build Status image image

目前解析服务对视频网站的支持情况:

**(CN)
网站 网址 支持状态 解析器 更新日期
优酷(Youku) www.youku.com 已支持

video-provider-youku.com

NPM Version NPM Downloads
2016/12/22
土豆、56、乐视、腾讯、搜狐、i奇艺、新浪等 -- 开发中 -- --

安装

npm install video-url-parser

使用

使用可以解析**区视频网站的解析器

var cnVideoUrlParser = require("video-url-parser").cnVideoUrlParser;

//解析一个url
cnVideoUrlParser.parser("http://v.youku.com/v_show/id_XMTg4ODE3NDYwOA==.html");
//[ { "id":"XMTg4ODE3NDYwOA==", "provider":{ "host":"youku.com", ...} } ]

//解析一段字符串中包含的视频信息
var str='播放 <a href="http://v.youku.com/v_show/id_XMTg4ODE3NDYwOA==.html">放弃我,抓紧我</a><br />播放 <a href="http://v.youku.com/v_show/id_XMTg3OTgwODE0NA==.html">飞到又见飞刀</a><br />';

cnVideoUrlParser.parser(str);
/*[
    { "id":"XMTg4ODE3NDYwOA==", "provider":{ "host":"youku.com", ...} }, 
    { "id":"XMTg3OTgwODE0NA==", "provider":{ "host":"youku.com", ...} } 
]*/

//根据视频源信息创建播放URL
cnVideoUrlParser.create({
    provider: "youku.com",
    id: "XMTg4ODE3NDYwOA==",
    params: {
        from: "github"
    }
});// http://player.youku.com/embed/XMTg4ODE3NDYwOA==?from=github

自定义解析器

下面的示例演示了如何创建一个自定义解析器并使用它,这会让你了解video-url-parser包的运行机制。

var vup = require("video-url-parser"),
    VideoUrlParser = vup.VideoUrlParser,
    VideoProvider = vup.VideoProvider,
    util = vup.util;

//创建一个解析器
var parser = new VideoUrlParser("我的视频URL解析器");

//像解析器中添加一个VideoProvider实例,负责对特定URL的解析
parser.addProvider(new VideoProvider({
    host: "xxx.com", //唯一
    hostMatch: function(source) {
        if (/xxx.com/.test(source)) {
            return this.host;
        }
    },
    parser: function(source) {
        source = source + "";
        var provider = JSON.parse(JSON.stringify(this));
        return [{
            provider: provider,
            id: "1"
        }];
    },
    create: function(videoInfo) {
        return "http://" + this.host + "/play/" + videoInfo.id + ".html";
    }
}));

var videoInfo = parser.parser("http://xxx.com/123");
console.log(videoInfo); //[ { provider: { host: 'xxx.com' }, id: '1' } ]

var url = parser.create(videoInfo[0]);
console.log(url); //http://xxx.com/play/1.html

文件说明

  • src/video-url-parser.js提供核心功能:VideoUrlParser(URL解析器类),VideoProvider(视频供应商类)和util(工具函数),VideoUrlParser实例可以包括多个VideoProvider实例;
  • src/cn-video-url-parser.js提供**区的视频网站URL解析。

video-url-parser's People

Contributors

imingyu avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.