diff --git a/C4_getOnlineWantedModels3.py b/C4_getOnlineWantedModels3.py new file mode 100644 index 0000000..f6648b3 --- /dev/null +++ b/C4_getOnlineWantedModels3.py @@ -0,0 +1,53 @@ +# Cam4 Anonymous Get Online Wanted Models v.2.0.0 by horacio9a for Python 3.9.1 +# coding: utf-8 + +import sys, os, urllib, ssl, re, json, configparser, requests +from sys import exit +Config = configparser.ConfigParser() + +setting = {} + +def readConfig(): + global setting + Config.read('config.ini') + setting = {'wanted_model_list': Config.get('files', 'wanted_model_list')} + +offline = False + +def getOnlineModels(page): + attempt = 1 + while attempt < 3: + try: + result = urllib.request.urlopen("https://www.cam4.com/directoryCams?directoryJson=true&online=true&url=true&page={}".format(page)) + result = result.read() + results = json.loads(result.decode()) + return results + except: + attempt = attempt + 1 + +if __name__ == '__main__': + while True: + readConfig() + wanted_model_list = [] + attempt = 1 + with open(setting['wanted_model_list']) as f: + for model in f: + models = model.split() + for theModel in models: + wanted_model_list.append(theModel.lower()) + online = [] + while not offline: + results = getOnlineModels(attempt) + if len(results['users']) > 1: + online.extend([user['username'].lower() for user in results['users']]) + else: + offline = True + attempt = attempt + 1 + offline = False + for model in list(set(set(online)).intersection(set(wanted_model_list))): + online_model_list = online + for online_wanted_model_list in online_model_list: + if online_wanted_model_list in wanted_model_list: + print(online_wanted_model_list) + if attempt > 3: + exit(0)