【问题标题】:Scrape YouTube Channel ID in to Google Sheets?将 YouTube 频道 ID 刮入 Google 表格?
【发布时间】:2019-03-11 15:38:23
【问题描述】:

我正在尝试抓取 YouTube 频道 ID(例如 UCqwbZ-xTkn_EmyIhSvZRRWQ)并使用 IMPORTXML 公式将其导入 Google 表格,但没有成功。 频道ID可以在频道的页面源中找到(https://www.youtube.com/channel/UCqwbZ-xTkn_EmyIhSvZRRWQ

任何人都可以就如何解决这个问题提供一些指导吗?

在 Google 表格中,我有一个 YouTube 频道 URL 列表,我想抓取这些 ID。

我已经通过抓取订阅者来管理它,只是频道 ID 没有运气。

任何帮助将不胜感激。

【问题讨论】:

    标签: xml web-scraping google-sheets google-sheets-importxml


    【解决方案1】:
    =ARRAYFORMULA(REGEXREPLACE(QUERY(SUBSTITUTE(ARRAY_CONSTRAIN(
     IMPORTDATA(A40), 3000, 1), """", ""),
     "where Col1 contains '<meta itemprop=channelId content='"),
     "<meta itemprop=channelId content=|>", ""))
    

    【讨论】:

    • 当我输入公式时,它会将答案放在两个单元格中(带有公式的单元格和下面的一个单元格)...我怎样才能让它只显示通道 ID 在我输入公式的一个单元格?
    • 试试:=INDEX(ARRAYFORMULA(REGEXREPLACE(QUERY(SUBSTITUTE(ARRAY_CONSTRAIN( IMPORTDATA(A40), 3000, 1), """", ""), "where Col1 contains '&lt;meta itemprop=channelId content='"), "&lt;meta itemprop=channelId content=|&gt;", "")),1,1)
    • 谢谢。有什么方法可以让这个运行更快....当公式应用于 10 个通道的列表时,单元格都说“正在加载”,我收到一条错误消息,说“计算过程中出错;某些公式可能没有计算成功。”
    • 当然,请看这里:docs.google.com/spreadsheets/d/… 另外,如果可能的话,您能否调整公式以通过链接也拉出频道名称,就像您拉出频道号?提前致谢! :)
    【解决方案2】:

    在您的情况下,您不需要从 YouTube 上抓取它。试试:

    =REGEXEXTRACT(A2, "channel/(.+)")
    

    【讨论】:

    • 并非所有链接的格式都相同...它们包含频道ID...第一种方法最好。
    • 在抓取频道名称和订阅人数方面?你知道我们该怎么做吗?
    • 谢谢。它显示订阅者数量的脚本,但不显示频道名称。如何调整脚本以提取频道名称?
    • 试试:=INDEX(IMPORTHTML("https://www.youtube.com/channel/UC7_gcs09iThXybpVgjHZ_7g","list",1),1,1)
    【解决方案3】:

    我无法使用 @player0 建议的公式得到结果,因此,经过大量研究、绞尽脑汁、花费数小时,我终于找到了一个可行的解决方案。 @player0's 公式包含一个没有意义的正则表达式,即“&lt;meta itemprop=channelId content=|&gt;”,而我将 REGEXEXTRACT 与正则表达式 "UC[0-9A-Za-z_-]{21 }[AQgw]" 一起使用,因此公式:=INDEX(ARRAYFORMULA(REGEXEXTRACT(QUERY(SUBSTITUTE(ARRAY_CONSTRAIN(IMPORTDATA(A40); 3000; 1);"""";"");"where Col1 contains '&lt;meta itemprop=channelId content='");"UC[0-9A-Za-z_-]{21}[AQgw]"));1;1)IDs do YouTube

    【讨论】:

      猜你喜欢
      • 2013-09-12
      • 1970-01-01
      • 2019-02-19
      • 2016-06-19
      • 2019-05-04
      • 2016-02-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多