我想要的是:
能够提取 selenium 在 youtube 搜索结果页面上产生的每个视频的所有视图。
例如:如果我在 youtube 上搜索“来自 Imagine Dragons 的信徒”,它应该会给我所有结果视频的观看次数(例如 - 104M 观看次数、1.5B 观看次数、698M 观看次数等)最多可以说前 20 个视频。
我试过的
from selenium import webdriver
driver=webdriver.Chrome(executable_path='C:\\ProgramData\\chocolatey\\bin\\chromedriver.exe')
search = 'Believer from Imagine Dragons'
driver.get("https://www.youtube.com/results?search_query=" + search)
main = driver.find_elements_by_id("metadata")
for datas in main:
info = datas.find_elements_by_id("metadata-line")
for views in info:
view_counts = views.find_element_by_xpath("""//*[@id="metadata-line"]/span[1]""")
print('view_counts: ' + str(view_counts.text))
这个的输出:
view_counts: 104M views
view_counts: 104M views
view_counts: 104M views
view_counts: 104M views
view_counts: 104M views
view_counts: 104M views
view_counts: 104M views
view_counts: 104M views
view_counts: 104M views
view_counts: 104M views
view_counts: 104M views
view_counts: 104M views
view_counts: 104M views
view_counts: 104M views
view_counts: 104M views
view_counts: 104M views
view_counts: 104M views
我也尝试过
from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
driver=webdriver.Chrome(executable_path='C:\\ProgramData\\chocolatey\\bin\\chromedriver.exe')
search = 'Believer from Imagine Dragons'
driver.get("https://www.youtube.com/results?search_query=" + search)
main = WebDriverWait(driver, 10).until(
EC.presence_of_element_located((By.ID, "metadata"))
)
data = main.find_elements_by_id("metadata-line")
for datas in data:
views = datas.find_element_by_xpath("""//*[@id="metadata-line"]/span[1]""")
print(views.text)
这个的输出:
104M views
但是,他们都没有给我我想要的。请帮忙。
未来目标(如果你能帮忙的话):
能够播放该页面上观看次数最多的视频。
BIG阳
相关分类