【问题标题】:pytube error - get_ytplayer_config: could not find match for config_patterns when passing a list of URLSpytube 错误 - get_ytplayer_config:传递 URL 列表时找不到 config_patterns 的匹配项
【发布时间】:2020-11-03 10:01:18
【问题描述】:

我正在尝试使用 pytube 传递来自一个 YouTube 频道的 URL 列表,以便提取 YouTube 元数据的某些位进行分析。这是我正在使用的代码:

import pandas as pd
from pytube import YouTube

url_list = pd.read_csv("data.csv").values

'data.csv' 只是一个单独的列,其中只包含大约 2000 个 YouTube 格式的 URL。据我所知,没有一个视频是私有的。

data = pd.DataFrame(columns = ['title', 'views', 'description', 'length', 'rating'])

lists = []

for url in url_list:
  try:
    urls = str(url)
    yt = YouTube(urls)
    lists.append([yt.title, yt.views, yt.description, yt.length, yt.rating])
  except Exception as e:
    lists.append(['NA', 'NA' , 'NA', 'NA', 'NA'])
    print(e)

这里的问题是,YouTube 是否会返回我需要的值是一个问题!有效的 URL 会很好地附加到列表中,但如果不是:

RegexMatchError: get_ytplayer_config: could not find match for config_patterns

最终,在第一次发生此错误后,我也会为每个 URL 收到此错误:

HTTP Error 429: Too Many Requests

我尝试过使用 BeautifulSoup,但不断收到一些令人沮丧的“资产”错误以及以下问题:

MissingSchema: Invalid URL 'u': No schema supplied. Perhaps you meant http://u?

如果有人能提出任何解决此问题或替代方案的方法,那将是绝妙的,因为我一直在摸索着寻找解决方案。

【问题讨论】:

标签: python pandas beautifulsoup youtube pytube


【解决方案1】:

这个错误 (RegexMatchError: get_ytplayer_config: could not find match for config_patterns)是由于 Pytube 已知问题。

尝试更新 request.py

https://github.com/nficano/pytube/issues/614 https://github.com/nficano/pytube/issues/614#issuecomment-724326141

或 最好安装最近修复的 PyTube pkg 版本 https://github.com/nficano/pytube/issues/815#issuecomment-725747111

安装更新的 pkg 后,我解决了这个问题。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2022-08-15
    • 2013-09-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多