| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495 |
- import requests
- import json
- import time
- import datetime
- # ----------------------------------------------------------------- #
- keyword = "aaaa"
- exactMatch = False
- groupCount = 100 # 10, 25, 50, 100
- howManyCycles = 100
- delayTime = 5
- groupMaxMembers = 30
- groupHasFunds = False
- publicGroup = True
- saveInFile = True
- # ----------------------------------------------------------------- #
- url = "https://groups.rprxy.xyz/v1/groups/search?keyword=" + keyword + "&prioritizeExactMatch=" + str(
- exactMatch).lower() + "&limit=" + str(groupCount)
- # fundsUrl = "https://economy.roblox.com/v1/groups/GROUP/currency"
- foundGroups = []
- groupIdList = []
- nextPageCursor = ""
- for cycle in range(0, howManyCycles):
- print("Cycle number: " + str(cycle))
- print("Percentage: " + str(int((cycle / howManyCycles) * 1000) / 10) + "%")
- requestData = requests.get(url + "&cursor=")
- # print(requestData.json())
- dataTable = json.loads(requestData.content)
- if nextPageCursor == "end":
- break
- try:
- nextPageCursor = dataTable["nextPageCursor"]
- except:
- nextPageCursor = "end"
- for group in dataTable["data"]:
- valid = True
- if group["memberCount"] > groupMaxMembers:
- valid = False
- if publicGroup and not group["publicEntryAllowed"]:
- valid = False
- if groupHasFunds:
- fundsUrl = "https://economy.rprxy.xyz/v1/groups/" + str(group["id"]) + "/currency"
- economyData = requests.get(fundsUrl)
- economyJSON = json.loads(economyData.content)
- try:
- if economyJSON["robux"] == 0:
- valid = False
- except:
- valid = False
- if valid:
- print("Found valid group " + str(group["id"]))
- # group["description"] = ""
- # group["name"] = ""
- foundGroups.append(group)
- groupIdList.append(group["id"])
- # else:
- # print("Invalid group")
- time.sleep(delayTime)
- if foundGroups.__len__() > 0 and saveInFile:
- thisTime = datetime.datetime.today()
- fileTime = str(thisTime.year) + "-" + str(thisTime.month) + "-" + str(thisTime.day) + "_" + str(
- thisTime.hour) + "-" + str(thisTime.minute) + "-" + str(thisTime.second)
- with open("./run/foundGroups_" + fileTime + ".txt", "w", encoding='utf-8') as groupFile:
- for line in foundGroups:
- groupFile.write(line.__str__())
- groupFile.write("\n")
- # groupFile.close()
- with open("./run/foundGroupIds" + fileTime + ".txt", "w", encoding='utf-8') as groupIdFile:
- for line in groupIdList:
- groupIdFile.write(str(line))
- print(str(line))
- groupIdFile.write("\n")
- # groupIdFile.close()
- print("\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nSEARCH COMPLETE")
- print("Found groups: " + str(foundGroups.__len__()))
- print(foundGroups)
- print("\nFound group ids:")
- print(groupIdList)
|