mirror of
https://github.com/horacio9a/cam4-anonymous.git
synced 2024-11-14 12:14:28 +08:00
53 lines
1.8 KiB
Python
53 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)
|