File size: 4,789 Bytes
2f67506
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
def JSON_gridVideoRenderer_Formatter(video):
    if video.get('gridVideoRenderer',{}).get('descriptionSnippet',{}):
        description=video['gridVideoRenderer']['descriptionSnippet']['runs'][0]['text']
    else:
        description=''

    return{
        "id":video['gridVideoRenderer']['videoId'],
        "title":video['gridVideoRenderer']['title']['runs'][0]['text'],
        "thumbnails":video['gridVideoRenderer']['thumbnail']['thumbnails'],
        "description":description,
        "publishedTime":video['gridVideoRenderer']['publishedTimeText']['simpleText'] if video.get('gridVideoRenderer',{}).get('publishedTimeText',{}) else '' ,
        "length":video['gridVideoRenderer']['lengthText']['simpleText'] if video.get('gridVideoRenderer',{}).get('lengthText',{}) else '',
        "views":video['gridVideoRenderer']['viewCountText']['simpleText'] if video.get('gridVideoRenderer',{}).get('viewCountText',{}).get('simpleText','') else '',
        "url":f"https://www.youtube.com{video['gridVideoRenderer']['navigationEndpoint']['commandMetadata']['webCommandMetadata']['url']}",
        "short_views":video['gridVideoRenderer']['shortViewCountText']['simpleText'] if video.get('gridVideoRenderer',{}).get('shortViewCountText',{}).get('simpleText','') else '',
        "channelThumbnail":video['gridVideoRenderer']['channelThumbnailSupportedRenderers']['channelThumbnailWithLinkRenderer']['thumbnail']['thumbnails'][0]['url'] if video.get('gridVideoRenderer',{}).get('channelThumbnailSupportedRenderers',{}) else '',
        "channel":video['gridVideoRenderer']['ownerText']['runs'][0]['text']
        }
        
def JSON_childVideoRenderer_Formatter(video):
    if video.get('childVideoRenderer',{}).get('descriptionSnippet',{}):
        description=video['childVideoRenderer']['descriptionSnippet']['runs'][0]['text']
    else:
        description=''

    return {
        "id":video['childVideoRenderer']['videoId'],
        "title":video['childVideoRenderer']['title']['runs'][0]['text'],
        "thumbnails":video['childVideoRenderer']['thumbnail']['thumbnails'],
        "description":description,
        "publishedTime":video['childVideoRenderer']['publishedTimeText']['simpleText'] if video.get('childVideoRenderer',{}).get('publishedTimeText',{}) else '' ,
        "length":video['childVideoRenderer']['lengthText']['simpleText'] if video.get('childVideoRenderer',{}).get('lengthText',{}) else '',
        "views":video['childVideoRenderer']['viewCountText']['simpleText'] if video.get('childVideoRenderer',{}).get('viewCountText',{}).get('simpleText','') else '',
        "url":f"https://www.youtube.com{video['childVideoRenderer']['navigationEndpoint']['commandMetadata']['webCommandMetadata']['url']}",
        "short_views":video['childVideoRenderer']['shortViewCountText']['simpleText'] if video.get('childVideoRenderer',{}).get('shortViewCountText',{}).get('simpleText','') else '',
        "channelThumbnail":video['childVideoRenderer']['channelThumbnailSupportedRenderers']['channelThumbnailWithLinkRenderer']['thumbnail']['thumbnails'][0]['url'] if video.get('childVideoRenderer',{}).get('channelThumbnailSupportedRenderers',{}) else '',
        "channel":video['childVideoRenderer']['ownerText']['runs'][0]['text']
    }

def JSON_videoRenderer_Formatter(video):
    if video.get('videoRenderer',{}).get('descriptionSnippet',{}):
        description=video['videoRenderer']['descriptionSnippet']['runs'][0]['text']
    else:
        description=''
    return{
        "id":video['videoRenderer']['videoId'],
        "title":video['videoRenderer']['title']['runs'][0]['text'],
        "thumbnails":video['videoRenderer']['thumbnail']['thumbnails'],
        "description":description,
        "publishedTime":video['videoRenderer']['publishedTimeText']['simpleText'] if video.get('videoRenderer',{}).get('publishedTimeText',{}) else '' ,
        "length":video['videoRenderer']['lengthText']['simpleText'] if video.get('videoRenderer',{}).get('lengthText',{}) else '',
        "views":video['videoRenderer']['viewCountText']['simpleText'] if video.get('videoRenderer',{}).get('viewCountText',{}).get('simpleText','') else '',
        "url":f"https://www.youtube.com{video['videoRenderer']['navigationEndpoint']['commandMetadata']['webCommandMetadata']['url']}",
        "short_views":video['videoRenderer']['shortViewCountText']['simpleText'] if video.get('videoRenderer',{}).get('shortViewCountText',{}).get('simpleText','') else '',
        "channelThumbnail":video['videoRenderer']['channelThumbnailSupportedRenderers']['channelThumbnailWithLinkRenderer']['thumbnail']['thumbnails'][0]['url'] if video.get('videoRenderer',{}).get('channelThumbnailSupportedRenderers',{}) else '',
        "channel":video['videoRenderer']['ownerText']['runs'][0]['text']
    }