mi consulta es sobre un código que busca automatizar la descarga de todos los videos de un canal de YouTube, si bien PyCharm no me genera errores de código, pero al correrlo, no se guarda en la carpeta donde coloqué que se guarde. Alguien me podría ayudar por favor?
Si bien en el PowerShell no genera errores, en el terminal local me aparece la siguiente imagen
Este es el código:
from selenium import webdriver
from selenium.webdriver.common.by import By
from time import sleep
import time
from random import randint
import requests
from pytube import YouTube
# Open browser
driver = webdriver.Firefox()
# My youtube channel
#aquí colocaré el link del canal
url = "(link del canal)"
#Get youtube video
def get_video_youtube(driver,url):
driver.get(url)
time.sleep(randint(5, 9))
driver.get(url+"/videos")
ht = driver.execute_script("return document.documentElement.scrollHeight;")
while True:
prev_ht = driver.execute_script("return document.documentElement.scrollHeight;")
driver.execute_script("window.scrollTo(0,document.documentElement.scrollHeight);")
time.sleep(2)
ht = driver.execute_script("return document.documentElement.scrollHeight;")
if (prev_ht == ht):
break
links = driver.find_elements(By.XPATH, "//input[@id='video-title']")
#supuestamente aquí está el problema, ya que no guarda ni escribe en el archivo txt
with open("D:\somefile.txt", 'w') as the_file:
for link in links:
print(link.get_attribute("title"))
print(link.get_attribute("href"))
yt = YouTube(link.get_attribute("href"))
hd = yt.streams.get_highest_resolution()
hd.download("D:\youtube1")
the_file.writelines(link.get_attribute("href")+'\n')
sleep(3)
get_video_youtube(driver, url)