Sockets, TCP/IP, (XML-)RPC und ähnliche Themen gehören in dieses Forum
Neroo
User
Beiträge: 2 Registriert: Donnerstag 4. Januar 2018, 01:37
Donnerstag 4. Januar 2018, 01:42
I'm trying to program a bot with python. but it is giving the error "thread error". Can anybody help me ?
Code: Alles auswählen
import requests
import subprocess
import json
import sys
import threading
import time
from Queue import Queue
numberOfViewers = int(sys.argv[1])
builderThreads = int(sys.argv[2])
startTime = time.time()
numberOfSockets = 0
concurrent = 25
urls = []
urlsUsed = []
proxy_url = {
'http': '37.17.38.196:53281',
'http': '185.199.80.225:53281',
}
def getURL(): # Get tokens
output = subprocess.Popen(["livestreamer", "twitch.tv/twitch", "-j"], stdout=subprocess.PIPE).communicate()[0]
return json.loads(output)['streams']['worst']['url'] # Parse json and return the URL parameter
def build(): # Builds a set of tokens, aka viewers
global numberOfSockets
global numberOfViewers
while True:
if numberOfSockets < numberOfViewers:
numberOfSockets += 1
print "Building viewers " + str(numberOfSockets) + "/" + str(numberOfViewers)
urls.append(getURL())
def view(): # Opens connections to send views
global numberOfSockets
while True:
url=q.get()
requests.head(url)
if (url in urlsUsed):
urls.remove(url)
urlsUsed.remove(url)
numberOfSockets -= 1
else:
urlsUsed.append(url)
q.task_done()
if __name__ == '__main__':
for i in range(0, builderThreads):
threading.Thread(target = build).start()
while True:
while (numberOfViewers != numberOfSockets): # Wait until sockets are built
time.sleep(1)
q=Queue(concurrent*2)
for i in range(concurrent):
try:
t=threading.Thread(target=view)
t.daemon=True
t.start()
except:
print 'thread error'
try:
for url in urls:
print url
q.put(url.strip())
q.join()
except KeyboardInterrupt:
sys.exit(1)
__deets__
User
Beiträge: 14529 Registriert: Mittwoch 14. Oktober 2015, 14:29
Donnerstag 4. Januar 2018, 08:13
I find “your” code in various incarnations all over the Internet. As it’s purpose is to game a system for personal benefit, you
- are despicable in my view.
- obviously want to snatch free programming advice from here to make money.
So at least offer some money to somebody, preferably not here.
noisefloor
User
Beiträge: 3856 Registriert: Mittwoch 17. Oktober 2007, 21:40
Wohnort: WW
Kontaktdaten:
Donnerstag 4. Januar 2018, 08:53
Hallo,
@Neroo: the language of the board is German only, please raise any further questions in German language only!
@__deets__: was meinst du mit "As it’s purpose is to game a system for personal benefit" - das `game` kenne ich in dem Kontext nicht... Oder ist das die Rechtschreibkorrektur vom iPad, die da zugeschlagen hat?
Ansonsten ist der Code ja auch eher ein Beispiel für schlechten Programmierstil...
Gruß, noisefloor
__deets__
User
Beiträge: 14529 Registriert: Mittwoch 14. Oktober 2015, 14:29
Donnerstag 4. Januar 2018, 09:24
“gaming a system” bedeutet übersetzt in etwa “ein System zum eigenen Vorteil manipulieren”.
In diesem Fall twitch views (was zufällig was mit games zu tun hat) künstlich hochtreiben. Damit kommen mehr Werbeeinnahmen rein.
Der Code ist scheisse, aber das interessiert den OP garantiert nicht. Den hat er aus dem Netz geklaubt, das wars.
noisefloor
User
Beiträge: 3856 Registriert: Mittwoch 17. Oktober 2007, 21:40
Wohnort: WW
Kontaktdaten:
Donnerstag 4. Januar 2018, 09:34
Hallo,
@__deets__: ok, thx. Kannt ich in der Tat nicht, diesen Ausdruck.
Da einer meiner Söhne regelmäßig Gaming-Streams auf Twich schaut, sind wir so wie so aktiv an der Steigerung der Werbeeinnahmen beteiligt
Gruß, noisefloor
Neroo
User
Beiträge: 2 Registriert: Donnerstag 4. Januar 2018, 01:37
Donnerstag 4. Januar 2018, 15:03
__deets__ hat geschrieben: I find “your” code in various incarnations all over the Internet. As it’s purpose is to game a system for personal benefit, you
- are despicable in my view.
- obviously want to snatch free programming advice from here to make money.
So at least offer some money to somebody, preferably not here.
sorry about that. someone close this topic. ty!