首页 > 解决方案 > 无法弄清楚如何让 BS4 检索 /videos 页面上的 youtube 观看次数

问题描述

我正在尝试使用 BS4 导航到页面,让我们以 /history 为例。我想收集当前在 /history 频道上的所有视频的观看次数。要获取所有视频的列表视图,请访问https://www.youtube.com/history/videos

然后我在 chrome 中使用检查元素来查找标签。这给了我一个结论,我应该尝试使用 class="style-scope ytd-grid-video-renderer" 的“span”

由于某种原因,这不起作用,我一生都无法理解这一点。

import re
import requests
import urllib.request
from bs4 import BeautifulSoup
import csv
import time


theurl = "https://www.youtube.com/history/videos"
thepage = urllib.request.urlopen(theurl)
soup = BeautifulSoup(thepage,"html.parser")
Views = soup.findAll('span',attrs={'class':'class="style-scope ytd-grid-video-renderer"'})
print(Views)

我希望它打印出以下输出

3.5k 1.2k 2.2k 5.5k

然后我可以自己学习,对于每个 K 实例,我乘以 100,等等 M 和 B。

然而,进入打印视图的步骤是我目前的障碍。

标签: pythonweb-scrapingbeautifulsoupyoutube

解决方案


可能是因为您找到的标签在那里,以便 javascript 可以输出视频的视图。Urllib 没有得到 javascript 输出。尝试使用硒。


推荐阅读