python - 无法弄清楚如何让 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。
然而,进入打印视图的步骤是我目前的障碍。
解决方案
可能是因为您找到的标签在那里,以便 javascript 可以输出视频的视图。Urllib 没有得到 javascript 输出。尝试使用硒。
推荐阅读
- javascript - React - IE11 - 访问过的链接在刷新时未被识别为访问过
- java - fromString 方法中 BitSet valueOf 的目的是什么
- c - Haskell FFI:传入和返回ByteStrings的正确方法
- c# - Microsoft.NETCore.App 更新到 2.1.0-rc 问题
- c# - Unity3D安卓USB通讯
- android - 通过 Android 项目的源代码控制共享代码样式时遇到问题 (Android Studio)
- sql - 限制 SQL Server 中动态 SQL 的执行时间
- react-native - 我不能创建一个 react-native 项目?
- delphi - 升级 Indy 库以使用最新的 OpenSSL 库
- c# - 匹配第二个实例