首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >不接受以连字符开头的视频ID。

不接受以连字符开头的视频ID。
EN

Unix & Linux用户
提问于 2018-03-05 14:29:56
回答 2查看 586关注 0票数 2

我试过两种不同的脚本来删除Youtube视频的所有评论。一切都很好,但有一个问题:Youtube视频ID以一个hiphen开头,就像-FIHqoTcZog不起作用一样。我想知道是否有一种方法可以将ID的每一个字符从shell解释中解脱出来,例如使用ID:\-\F\I\H\q\o\T\c\Z\o\g,但在我的情况下这是行不通的。

我使用的脚本是:youtube-评论-下载程序youtube-评论-刮刀。两者都需要视频ID。即使它被单引号或双引号包围,ID也是有效的,但如果视频ID以连字符开头,则两者都不起作用。

Youtube-dl以前也有类似的问题,但现在它接受以连字符开头的ID :这是通过使用选项--id来完成的,但在我们的情况下,它仍然不能工作,除非连字符前面有--,在另一种情况下,如果ID不以连字符开头,则可以将视频名转换为--id -- -FIHqoTcZog

我的脚本是否有任何方法可以使用ID以连字符开头,就像它在Youtube-dl's一案中所做的那样,或者使用其他的工作呢?

EN

回答 2

Unix & Linux用户

回答已采纳

发布于 2018-03-05 20:17:47

Related问题: “-”(双冲)是什么意思?(又称“裸双破折号”)

连字符不是由shell解释的,而是由您正在使用的程序/脚本(更准确地说,是它的解析器)解释的。这就是为什么转义(在shell级别)不能工作的原因。

程序通常将带引号(S)的参数识别为选项,而不是操作数。要将像-foo这样的参数解释为操作数,程序通常遵循以下一种或多种方式:

  • 将第一个--参数识别为选项标记的结尾:program -- -foo
  • 让您将操作数作为选项-参数传递:program --option -foo
  • 以其他方式识别操作数:program prefix-foo

在您的具体场景中:

  • youtube-dl接受:
    • -- -FIHqoTcZog
    • https://www.youtube.com/watch?v=-FIHqoTcZog

  • youtube-comment-downloader似乎接受了:
    • --youtubeid -FIHqoTcZog

  • youtube-comment-scraper似乎接受了:
    • -- -FIHqoTcZog
    • https://www.youtube.com/watch?v=-FIHqoTcZog
票数 5
EN

Unix & Linux用户

发布于 2018-03-05 15:40:16

最后,在重新安装脚本youtube-评论-刮刀之后,我找到了一个解决方案,突然,在视频ID前面添加了以-开头的--。这个提示在他们的任何文档中都是不可用的。现在起作用了:youtube-comment-scraper --output OtherFile -f csv -- -FIHqoTcZog

在另一个脚本中,它仍然不能工作。

票数 0
EN
页面原文内容由Unix & Linux提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://unix.stackexchange.com/questions/428279

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档