Собрать ссылки видео с YouTube канала с помощью selenium
Моя цель - вытащить все ссылки с канала из раздела "видео" и записать их в текстовый файл. Я написал код, но он выдает ошибку.
from selenium.webdriver.support.ui import WebDriverWait
from selenium import webdriver
from webdriver_manager.chrome import ChromeDriverManager
from selenium.webdriver.support import expected_conditions as ec
from selenium.webdriver.common.by import By
from selenium import webdriver
from webdriver_manager.chrome import ChromeDriverManager
from selenium.webdriver.common.keys import Keys
from selenium.webdriver.common.action_chains import ActionChains
from selenium.common.exceptions import TimeoutException
driver = webdriver.Chrome(ChromeDriverManager().install())
driver.implicitly_wait(10)
try:
driver.get('https://www.youtube.com/channel/UCvwd5BAlQKn2jD0JoDMtNXQ/videos')
driver.maximize_window()
for i in range(2):
link_elements = driver.find_elements_by_css_selector('#thumbnail')
WebDriverWait(driver, 20).until(ec.visibility_of_element_located((By.CSS_SELECTOR, link_elements)))
driver.execute_script("window.scrollTo(0, 9000)")
if len(link_elements) == 0:
raise Exception("link_elements пустой");
links = []
for element in link_elements:
link = element.get_attribute('href')
if link is not None:
links.append(link)
with open('links.txt', 'w') as f:
for item in links:
f.write("%s\n" % item)
sleep(2)
except Exception as e:
print("error")
print(e)
finally:
driver.close()
driver.quit()