this creates a csv file with all needed data, filter it in excel  by your needs

change the variables login,key ,out_file



[CODE=python]

import requests

import csv

def get_file_ids(folder_id = None):

    if folder_id == None:

        link_file_list = 'https://api.streamtape.com/file/listfolder?login={login}&key={key}'.format(  login=login, key=key)

    else:

        link_file_list = 'https://api.streamtape.com/file/listfolder?login={login}&key={key}&folder={folder}'.format(  login=login, key=key,folder = folder_id)

    response = requests.get(link_file_list).json()

    file_ids = []

    for file_data in response['result']['files']:

        #ignore files like thumbs or subtitles

        if file_data['convert'] != 'no-need':

            file_ids.append( file_data['linkid'])

    for folder_data in response['result']['folders']:

        file_ids =  file_ids + get_file_ids(folder_data['id'])

    return file_ids


login = 'login'

key = 'key'

out_file = 'C:\\Users\\Admin\\Desktop\\temp\\streamtape_out.csv'

#scan recursiv all folder

file_ids = get_file_ids()

#split in multple lists with count 100

file_ids_chunks_list = [file_ids[x:x+100] for x in range(0, len(file_ids), 100)]

data_file = open(out_file, 'w', newline='', encoding='utf-8')

csv_writer = csv.writer(data_file, delimiter=';')

csv_header_created = 0

for file_ids_chunks in file_ids_chunks_list:

    #get file data details with 100 ids per request

    link_file_data = 'https://api.streamtape.com/file/info?file={file}&login={login}&key={key}'.format( file=','.join(file_ids_chunks) , login=login, key=key)

    response = requests.get(link_file_data).json()

    for file_id in response['result']:

        file_data = response['result'][file_id]

        if csv_header_created == 0 :

            header = file_data.keys()

            csv_writer.writerow(header)

            csv_header_created = 1

 

        csv_writer.writerow(file_data.values())


data_file.close()

[/CODE]


Back
Top