Очистка веб-страниц Youtube с помощью selenium

#python #selenium #web-scraping #video #youtube

Вопрос:

 Reviews =pd.DataFrame()
k=1
controls > div.ytp-left-controls > a.ytp-next-button.ytp-button')
for i in range(10):
    
    for l in range(k):
        
        for j in range(k):
            
            all_posts = driver.find_elements_by_xpath('//*[@id="container"]/h1/yt-formatted-string')
            all_posts = [x.text for x in all_posts]
            posts = pd.Series(all_posts)
            
            all_views = driver.find_elements_by_xpath("//*[@class='short-view-count style-scope ytd-video-view-count-renderer']")
            all_views = [x.text for x in all_views]
            views = pd.Series(all_views)
            
            all_likes = driver.find_elements_by_xpath('/html/body/ytd-app/div/ytd-page-manager/ytd-watch-flexy/div[5]/div[1]/div/div[8]/div[2]/ytd-video-primary-info-renderer/div/div/div[3]/div/ytd-menu-renderer/div/ytd-toggle-button-renderer[1]/a/yt-formatted-string')
            all_likes = [x.text for x in all_likes]
            likes = pd.Series(all_likes)
            
            all_dislikes = driver.find_elements_by_xpath('/html/body/ytd-app/div/ytd-page-manager/ytd-watch-flexy/div[5]/div[1]/div/div[8]/div[2]/ytd-video-primary-info-renderer/div/div/div[3]/div/ytd-menu-renderer/div/ytd-toggle-button-renderer[2]/a/yt-formatted-string')
            all_dislikes = [x.text for x in all_dislikes]
            dislikes = pd.Series(all_dislikes)
            
            all_comments = driver.find_elements_by_xpath('/html/body/ytd-app/div/ytd-page-manager/ytd-watch-flexy/div[5]/div[1]/div/ytd-comments/ytd-item-section-renderer/div[1]/ytd-comments-header-renderer/div[1]/h2/yt-formatted-string/span[1]')
            all_comments = [x.text for x in all_comments]
            comments = pd.Series(all_comments)
            
            df = pd.DataFrame({"Title":posts, "Views":views, "Likes":likes, "Dislikes":dislikes, "No of Comments":comments})
            
        Reviews = Reviews.append(df) 
        time.sleep(3)
    
    
    next= driver.find_element_by_css_selector('#movie_player > div.ytp-chrome-bottom > div.ytp-chrome-
    next.click()
    time.sleep(2)
    
Reviews

  
 

Попытка очистить данные, такие как название видео, количество лайков и антипатий, количество комментариев, общее количество просмотров видео с конкретного канала YouTube

Поэтому я решил нажать кнопку play_all с канала, чтобы воспроизвести все видео подряд

Но кнопка следующего воспроизведения должна быть включена, чтобы воспроизводить следующее следующее видео каждый раз, когда выполняется очистка от определенного видео

Но цикл кнопки «Следующее воспроизведение» не работает каждый раз, когда цикл запускается, кнопка «Далее» YouTube не работает в этом коде кнопка «Следующее воспроизведение» обозначается ключевым словом (далее)

Я пытаюсь сделать следующее.нажмите() все работает нормально, но следующий щелчок не работает в соответствии с циклом, который должен работать, и следующий.щелчок() показывает ошибку

Комментарии:

1. Проверьте, работает ли эта строка- `next= driver.find_element_by_xpath(«//a[@title=’Следующий (SHIFT n)’]»)

2. иногда он работает с («//a[@title=’Следующий (СДВИГ n)’]»), но иногда отображается сообщение об ошибке: такого элемента нет: Не удается найти элемент: {«метод»:»xpath»,»селектор»:»//a[@title=’Следующий (СДВИГ n)’]»} (Информация о сеансе: chrome=92.0.4515.131)

3. Применить ожидания. Неявно или явно, но не то и другое вместе.

4. применил, но это не сработало

5. Ну, я устал выполнять подобные задачи. До сих пор это работало.