cam4-anonymous/C4_getOnlineWantedModels3.py

54 lines
1.8 KiB
Python

# 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)