微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

希望从 YouTube URL 自动生成适合参考书目的元数据

如何解决希望从 YouTube URL 自动生成适合参考书目的元数据

我需要以特定格式引用一百个左右的 YouTube 视频,并希望仅使用视频 URL 自动生成这些引用。

我知道现有网站可以执行此操作(例如 Scribbr),但为了提高效率,我需要以与所提供格式不同的格式输出

我有一些基本的 HTML 和 Javascript 能力,如果我有一种获取视频标题上传名称和发布日期(月 DD、YYYY)的方法,我觉得我可以将它们拼凑在一起字符串。但是,我不知道该怎么做。

我已经研究过从 https://www.youtube.com/oembed?url=urlgoeshere&format=json 获取数据,但这似乎不包括日期,我什至不知道如何从中获取标题

这可能是一个过于模糊的问题,但您对从哪里开始有什么建议吗?感谢您抽出宝贵时间。

解决方法

如果我有一种方法可以获取视频的标题视频的名称 上传者,以及发布日期(月 DD,YYYY) 作为字符串。

为了获得这些值,您可以按照以下步骤操作:

  1. 在您的第一个请求(即:https://www.youtube.com/oembed?url=urlgoeshere&format=json)中,提取频道名称:

示例:

网址: https://www.youtube.com/oembed?url=https://www.youtube.com/watch?v=6EHSlhnE6Ck&format=json

结果 - 格式清晰

{
    "title": "Understanding Digital Tracking","author_name": "GCFLearnFree.org","author_url": "https://www.youtube.com/user/gcflearnfree","type": "video","height": 113,"width": 200,"version": "1.0","provider_name": "YouTube","provider_url": "https://www.youtube.com/","thumbnail_height": 360,"thumbnail_width": 480,"thumbnail_url": "https://i.ytimg.com/vi/6EHSlhnE6Ck/hqdefault.jpg","html": "\u003ciframe width=\u0022200\u0022 height=\u0022113\u0022 src=\u0022https://www.youtube.com/embed/6EHSlhnE6Ck?feature=oembed\u0022 frameborder=\u00220\u0022 allow=\u0022accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture\u0022 allowfullscreen\u003e\u003c/iframe\u003e"
}
  1. 提取用户名 - 通过读取“author_url”值:

"author_url":"https://www.youtube.com/user/gcflearnfree"

  1. 使用此请求获取视频的标题、上传者姓名和发布日期:

URL:https://www.youtube.com/feeds/videos.xml?user=<name_of_the_user> - 将 <name_of_the_user> 替换为在步骤 2 中获得的名称。

示例:https://www.youtube.com/feeds/videos.xml?user=gcflearnfree

  1. 使用第 3 步中显示的 URL 发出请求 - 您将获得以下结果:

示例:

<feed
    xmlns:yt="http://www.youtube.com/xml/schemas/2015"
    xmlns:media="http://search.yahoo.com/mrss/"
    xmlns="http://www.w3.org/2005/Atom">
    <link rel="self" href="http://www.youtube.com/feeds/videos.xml?user=gcflearnfree"/>
    <id>yt:channel:UCeYUHG6o0YguM-g23htdsSw</id> 
    <yt:channelId>UCeYUHG6o0YguM-g23htdsSw</yt:channelId> <-- Use channel_id instead.
    <title>GCFLearnFree.org</title> 
    <link rel="alternate" href="https://www.youtube.com/channel/UCeYUHG6o0YguM-g23htdsSw"/>
    <author>
        <name>GCFLearnFree.org</name> <-- Name of the publisher
        <uri>https://www.youtube.com/channel/UCeYUHG6o0YguM-g23htdsSw</uri>
    </author>
    <published>2007-02-27T15:22:42+00:00</published><-- Publication date
    <entry>
        <id>yt:video:xKuJrmlCdig</id>
        <yt:videoId>xKuJrmlCdig</yt:videoId>
        <yt:channelId>UCeYUHG6o0YguM-g23htdsSw</yt:channelId>
        <title>What is HTML?</title><-- Title of the video
        <link rel="alternate" href="https://www.youtube.com/watch?v=xKuJrmlCdig"/>
        <author>
            <name>GCFLearnFree.org</name>
            <uri>https://www.youtube.com/channel/UCeYUHG6o0YguM-g23htdsSw</uri>
        </author>
        <published>2021-05-04T17:29:00+00:00</published>
        <updated>2021-05-05T06:31:50+00:00</updated>
        <media:group>
            <media:title>What is HTML?</media:title>
            <media:content url="https://www.youtube.com/v/xKuJrmlCdig?version=3" type="application/x-shockwave-flash" width="640" height="390"/>
            <media:thumbnail url="https://i1.ytimg.com/vi/xKuJrmlCdig/hqdefault.jpg" width="480" height="360"/>
            <media:description>In this video,you’ll learn about HTML and how it is used to code webpages. We hope you enjoy! To learn more,check out our Basic HTML tutorial here: https://edu.gcfglobal.org/en/basic-html/ #whatishtml #htmlcode #learnhtml</media:description>
            <media:community>
                <media:starRating count="100" average="4.80" min="1" max="5"/>
                <media:statistics views="1571"/>
            </media:community>
        </media:group>
    </entry>
    [More entries goes here...] 
</feed>

从之前的结果中,您可以读取视频的标题上传者的名称发布日期(月 DD、YYYY) .

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐


Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其他元素将获得点击?
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。)
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbcDriver发生异常。为什么?
这是用Java进行XML解析的最佳库。
Java的PriorityQueue的内置迭代器不会以任何特定顺序遍历数据结构。为什么?
如何在Java中聆听按键时移动图像。
Java“Program to an interface”。这是什么意思?