Skip to content
Advertisement

backend_youtube_dl.py”, line 54, in _fetch_basic self._dislikes = self._ydl_info[‘dislike_count’] KeyError: ‘dislike_count’

I have the below code that has been used to download youtube videos. I automatically detect if it’s a playlist or single video. However all the sudden it is giving the above error. What can be the problem?

import pafy
from log import *
import tkinter.filedialog
import pytube

url = input("Enter url :")

directory = tkinter.filedialog.askdirectory()


def single_url(url,directory):
    print("==================================================================================================================")
    
    video = pafy.new(url)
    print(url)
    print(video.title)

    #logs(video.title,url)
    file_object  = open(directory+"/links.log", "a")
    file_object.write(video.title +' '+ url + 'n')
    file_object.close()
    print('Rating :',video.rating,', Duration :',video.duration,', Likes :',video.likes, ', Dislikes : ', video.dislikes)
    #print(video.description)

    best = video.getbest()
    print(best.resolution, best.extension)

    best.download(quiet=False, filepath=directory+'/'+video.title+"." + best.extension)

    print("saved at :", directory, " directory")
    print("==================================================================================================================")

def playlist_func(url,directory):
    try: 
        playlist = pytube.Playlist(url)
        file_object  = open(directory+"/links.log", "a")
        file_object.write('Playlist Url :'+ url + 'n')
        file_object.close()
        print('There are {0}'.format(len(playlist.video_urls)))
        for url in playlist.video_urls:
            single_url(url,directory) 
    except:
        single_url(url,directory)
    
playlist_func(url,directory)

Advertisement

Answer

Your issue doesn’t have anything to do with your code.

Youtube does no longer have a dislike count, they simply removed it.

You just have to wait for the pafy package to be updated accordingly, or patch the package locally and remove that part by yourself.

Keep in mind there are at least 5 different pull requests open trying to fix it.

User contributions licensed under: CC BY-SA
10 People found this is helpful
Advertisement