我正在尝试将 *this 函数转换为 Dart,但到目前为止尚未成功。我对正则表达式的部分有点困惑。我的实现使用 regExp.allMatches***(url)***aways 返回整个 url。
JavaScript 版本:
function youtube_parser(url){
var regExp = /^.*((youtu.be\/)|(v\/)|(\/u\/\w\/)|(embed\/)|(watch\?))\??v?=?([^#\&\?]*).*/;
var match = url.match(regExp);
return (match&&match[7].length==11)? match[7] : false;
}
Run Code Online (Sandbox Code Playgroud)
WIP Dart 版本:
RegExp regExp = new RegExp(
r'.*(?:(?:youtu\.be\/|v\/|vi\/|u\/\w\/|embed\/)|(?:(?:watch)?\?v(?:i)?=|\&v(?:i)?=))([^#\&\?]*).*',
caseSensitive: false,
multiLine: false,
);
final match = regExp.allMatches(url);
Run Code Online (Sandbox Code Playgroud)
有人能帮我吗?
编辑:
输入网址:
final urls = [
'http://www.youtube.com/watch?v=0zM3nApSvMg&feature=feedrec_grec_index',
'http://www.youtube.com/user/IngridMichaelsonVEVO#p/a/u/1/QdK8U-VIH_o',
'http://www.youtube.com/v/0zM3nApSvMg?fs=1&hl=en_US&rel=0',
'http://www.youtube.com/watch?v=0zM3nApSvMg#t=0m10s',
'http://www.youtube.com/embed/0zM3nApSvMg?rel=0',
'http://www.youtube.com/watch?v=0zM3nApSvMg',
'http://youtu.be/0zM3nApSvMg',
];
Run Code Online (Sandbox Code Playgroud)
每个 getYoutubeVideoId(url) 的输出应该是0zM3nApSvMg
提前致谢,
费利佩
我想用 selenium 和 python 完全自动化 youtube。需要完成以下任务。问题出在第4点和第6点。如何处理它们?
打开YouTube
搜索任何视频
播放任何视频
暂停视频
喜欢不喜欢这个视频。
播放下一个视频
driver = webdriver.Chrome()
driver.get('https://www.youtube.com/')
Search_Box = driver.find_element_by_xpath('//*[@id="search"]') #search bar
speak("opend sir what shoud i search ?")
query=takecommand().lower()
# query=input('data ?')
Search_Box.send_keys(query)
Search_Button=driver.find_element_by_xpath('//*[@id="search-icon-legacy"]') #clicked search button
Search_Button.click()
speak("searched now which one ?")
query=takecommand().lower()
# query=input('data ?')
if "first" in query:
video_number = 1
select_video1=driver.find_element_by_xpath(f"(//a[@id='video-title'])[{video_number}]").click()
# select_video1.click()
elif 'second' in query:
video_number = 2
select_video2=driver.find_element_by_xpath(f"(//a[@id='video-title'])[{video_number}]").click()
time.sleep(5)
speak('pausing video')
select_video2=driver.find_element_by_css_selector('movie_player > div.ytp-chrome-bottom > div.ytp-chrome-controls > div.ytp-left-controls > button').click() #this was for …Run Code Online (Sandbox Code Playgroud)我发现这个 Javascript 是为了检查如何查明 YouTube 频道是否上线,但我被 CORS 政策阻止了,我想知道如何修复它?谁能帮我?来源检查 Youtube 频道是否直播,无需使用 API
var channelid = "UCnB-Fhp5FQfCZNfdAvm27Qw"; // REPLACE WITH YOUR CHANNEL ID
function onlive() {
// DO SOMETHING IF CHANNEL IS LIVE STREAMING
}
/* REST OF THE CODE */
fetch('https://www.youtube.com/channel/' + channelid).then(function (response) {
return response.text();
}).then(function (html) {
if (html.includes("hqdefault_live.jpg")) {
onlive();
}
}).catch(function (err) {
console.warn('Something went wrong', err);
});
Run Code Online (Sandbox Code Playgroud)
如何在Windows XP上使用youtube dl下载youtube视频.有任何命令吗?我想将这个工具与PHP集成.请帮忙..
我正在尝试创建一个函数,该函数从Wordpress自定义字段调用值("_videourl"表示YouTube视频网址),然后使用PHP修剪将其缩小为YouTube视频ID.我发现了一个javascript函数,可以将URL减少到ID,但我不知道我怎么能将它转换成php(下面的函数):
function youtubeIDextract(url)
{
var youtube_id;
youtube_id = url.replace(/^[^v]+v.(.{11}).*/,"$1");
return youtube_id;
}
Run Code Online (Sandbox Code Playgroud)
这个PHP函数将在循环中使用,所以我想我必须使用变量,但我真的只是一个菜鸟,所以我不知道该怎么做.任何人都可以通过分享他们的编码专业知识来帮助我创建PHP函数吗?
编辑:解决
经过一些实验,我找到了解决方案.我想返回并发布它,以便其他有需要的人可以从某个地方开始.
function getYoutubeId($ytURL)
{
$urlData = parse_url($ytURL);
//echo '<br>'.$urlData["host"].'<br>';
if($urlData["host"] == 'www.youtube.com') // Check for valid youtube url
{
$ytvIDlen = 11; // This is the length of YouTube's video IDs
// The ID string starts after "v=", which is usually right after
// "youtube.com/watch?" in the URL
$idStarts = strpos($ytURL, "?v=");
// In case the "v=" is NOT right after the "?" (not …Run Code Online (Sandbox Code Playgroud) 我想在我的网页上包含一些 youtube 链接...谁能帮我解决这个问题?我对此很陌生,我不知道这些格式或类似的东西....你能解释一下我应该使用什么以及如何将它嵌入到我的 html 代码之间吗?非常感谢
我有你管视频链接:例如:http://www.youtube.com/watch?v = EF5FnKTsIbc&feature = youtube_gdata_player我想用php获取这个链接的描述和视频标题和图片,怎么做?
http://suggestqueries.google.com/complete/search?hl=en&ds=yt&client=youtube&hjson=t&cp=1&q=WORD&alt=json
Run Code Online (Sandbox Code Playgroud)
我有这个网址。它以 JSON 格式创建 youtube 自动完成建议。我必须用 php 阅读这个并用 html 打印。我不能那样做。
互联网上的所有 JSON 解码教程都不适用于 youtube JSON。
最后,我只想要一个简单的代码来读取数据并使用 PHP 以 HTML 格式打印。
如果有人对我的问题有更好的称号,请继续更改... ;-)
我一直在谷歌搜索相当长一段时间,但要么我没有问正确的问题,或者到目前为止没有人与此斗争.
我与TYPO3 7.6的fancybox v3.0.47(工作http://fancyapps.com/fancybox/)和我对于图像画廊创建了自己的内容元素.到现在为止还挺好.在客户要求将视频文件添加到该库之前,一切正常.该库使用fancyBox作为灯箱,我使用如下:
<div class="imgGalleryIMG">
<a href="/fileadmin{file.originalFile.identifier}" data-fancybox="gallery" data-caption="{file.description}">
<f:image image="{file}" crop="{file.crop}" />
</a>
</div>
Run Code Online (Sandbox Code Playgroud)
fancybox需要链接,里面的图像是预览图像(可以裁剪).
这正常工作与图片,我可以改变<f:image image="{file}",以<f:media file="{file}" />使被装载到内容元素与YouTube视频"从URL添加媒体"显示,并开始在其上点击时打不过这种方式从的fancybox的收藏夹就不会弹出和它保持与预览图像一样小.
我尝试使用不同的方法,我遇到了youtube视频.通过使用"从URL添加媒体",视频将作为youtube文件保存到文件列表(意味着它具有文件扩展名".youtube"),并且它的标题将成为文件的名称.当我使用时,<f:debug>我找不到真正的链接(例如https://www.youtube.com/watch?v=WEkSYw3o5is),也没有找到YouTube视频的视频ID(例如WEkSYw3o5is).如果我使用上面用于图像的方法,我有一个视频的预览图像,但是当我点击它时,灯箱会打开,除了youtube-video-id之外别无其他.
第二种方法:
<div class="imgGalleryIMG">
<f:if condition="{file.originalFile.properties.extension} == 'youtube'">
<f:then>
<a href="{file.originalFile.identifier}" data-type="iframe" data-fancybox="gallery" data-caption="{file.description}">
<f:image image="{file}" />
</a>
</f:then>
<f:else>
<a href="/fileadmin{file.originalFile.identifier}" data-fancybox="gallery" data-caption="{file.description}">
<f:image image="{file}" crop="{file.crop}" />
</a>
</f:else>
</f:if>
</div>
Run Code Online (Sandbox Code Playgroud)
如果我是正确的,我需要的是youtube视频的链接,用于fancybox的链接,如文档中所述.
我真正想要的是youtube-video的显示图像,点击它将在灯箱中显示(没有自动播放).我怎样才能做到这一点?
我赞成一个只能改变模板的解决方案.
编辑
使用渲染后的第一种方法和fancybox实现其魔力,结果如下所示:
<div class="fancybox-container fancybox-show-controls fancybox-show-infobar fancybox-show-buttons fancybox-container--ready fancybox-controls--canzoomIn" role="dialog" tabindex="-1" id="fancybox-container-1" …Run Code Online (Sandbox Code Playgroud) 我使用了YouTube分享按钮中的youtube iframe嵌入代码,得到了此代码
<iframe width="560" height="315" src="https://www.youtube.com/embed/wjIuBh09WGU" frameborder="0" allow="autoplay; encrypted-media" allowfullscreen></iframe>
Run Code Online (Sandbox Code Playgroud)
我已在网页中运行它,并且缩略图也加载了微调器加载,然后出现错误“视频不可用”
屏幕截图:
youtube ×10
php ×5
html ×2
javascript ×2
video ×2
youtube-api ×2
dart ×1
embed ×1
fancybox ×1
function ×1
json ×1
python ×1
regex ×1
selenium ×1
typo3 ×1
typo3-7.6.x ×1
windows ×1
wordpress ×1
youtube-dl ×1