【问题标题】:How to extract all video link in a YouTube channel through python?如何通过python提取YouTube频道中的所有视频链接?
【发布时间】:2020-02-06 08:59:32
【问题描述】:

我正在尝试从 YouTube 频道获取一些详细信息,但这并没有给我想要的输出。

我尝试了以下代码来获取 YouTube 视频链接:

import requests
import urllib.request as ur
import pandas as pd

username = "Google"
path = "https://www.youtube.com/user/Google/videos"
alldata = str(requests.get(path).content).split(' ')
item = 'href="/watch?'
vids = [line.replace('href="', 'https://www.youtube.com') for line in alldata if item in line] # list of all videos listed twice
print(pd.DataFrame(vids))

电流输出: 这段代码给了我大约。 30-40 个视频链接作为输出,但在给定页面中几乎超过 1000 个视频可用。

预期输出: 我想提取此页面中所有(1000+)个视频链接。

我需要在上面的页面中进行哪些更改才能获得预期的输出?

感谢您的宝贵时间。

【问题讨论】:

    标签: python-3.x youtube python-requests


    【解决方案1】:

    这是因为在页面的初始加载时只呈现了 40 个视频 当您向下滚动时,会调用 AJAX(通过 javascript)并将更多数据发送到页面。

    这样做是为了增加页面加载时间。如果您在初始加载时发送所有 1000 多个视频数据,该页面将需要一周时间才能显示任何内容。

    当您向下滚动页面时,您可以看到加载圈出现在底部,因为更多的数据被拉入。

    您想使用 selenium 之类的东西将滚动复制到页面底部,然后在它们全部加载后捕获数据。

    祝你好运。

    【讨论】:

      猜你喜欢
      • 2022-12-12
      • 1970-01-01
      • 2013-03-08
      • 2015-09-02
      • 2013-06-09
      • 2021-03-13
      • 2011-05-20
      • 2021-09-07
      • 2011-09-13
      相关资源
      最近更新 更多