Hilfe beim umschreiben eines Bot

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Antworten
Delicat
User
Beiträge: 1
Registriert: Mittwoch 9. November 2011, 16:13

Hallo ihr Lieben,

entschuldigung, falls das hier der falsche Bereich ist aber es kam mir am logischsten vor^^ Und zwar hab ich folgendes Anliegen: eine Freundin von mir hat mir einen Bot geschrieben für das Browsergame "DragonCave" (http://dragcave.net/) der-super praktisch, wie er war- von alleine die Eier laut eingegebener Definition gefangen hat. JETZT hat der *hustdoofehust* Admin allerdings das System umgestaltet, früher gab es "Alpine" "Coast" "Desert" "Forest" "Jungle" "Volcano" nicht sondern die Eier sind direkt auf der Frontpage erschienen man hatte also nur 1 "Fangbereich". Zudem war der Code für die Eier nur 4-stellig, das wurde jetzt auf 5-stellig geändert. So und nu funktioniert mein Bot net mehr :( Ich hab zig mal versucht, das selbst umzuschreiben aber ich muss gestehen, dass ich der komplette Nixblicker bin bei allem, das auch nur annäherungsweise mit programmieren und co zu tun hat...

Schaut mal, das ist das, was meine Freundin geschrieben hatte *keine Ahnung, ob es was bringt aber ich schreibs trotzdem mal hier rein*:

Code: Alles auswählen

import httplib, urllib;
def login(): 
    id= raw_input("Please enter the cookie for scroll dragon[id]:");
    passw = raw_input("Please enter the cookie for pass (dragon[pass]:");
    return [id,passw];
def followLink(link,cookie):
    con = httplib.HTTPConnection('dragcave.net/',80,timeout=2);
    con.putrequest('GET', link);
    con.putheader('Cookie', 'dragon[id]=' + cookie[0] +'; ' +'dragon[pass]=' + cookie[1] + ';  check=1; referers=1; initjs=1; ads=0; pc=1; uc=0; ff=1;  _utma=164703850.337915616.1288510222.1288564452.1288567367.9'); 
    con.putheader('Referer', 'http://dragcave.net/');
    con.putheader('User-Agent', 'Mozilla/5.0 (Windows; U; Windows NT 5.1; ru; rv:1.9.2.12) Gecko/20101026 Firefox/3.6.12');
    con.endheaders();
    return con.getresponse();
def getData(cookie):    
    con = httplib.HTTPConnection('dragcave.net/',80,timeout=2);
    con.putrequest('GET', '/');
    con.putheader('Cookie', 'dragon[id]=' + cookie[0] +';' +'dragon[pass]=' + cookie[1]);
    con.putheader('User-Agent', 'Mozilla/5.0 Gecko/20091221 Firefox/3.5.7');
    con.endheaders();
    response = con.getresponse();
    data = response.read();
    links = [];
    texts = [];
    links.append(data[data.index('/get'):data.index('/get') + 9]);
    data = data[data.index('/get'):len(data)];
    texts.append(data[data.index('<br/>')+5:data.index('</div>')]);
    data = data[data.index('</div>'):len(data)];
    links.append(data[data.index('/get'):data.index('/get') + 9]);
    data = data[data.index('/get'):len(data)];
    texts.append(data[data.index('<br/>')+5:data.index('</div>')]);
    data = data[data.index('</div>'):len(data)];
    links.append(data[data.index('/get'):data.index('/get') + 9]);
    data = data[data.index('/get'):len(data)];
    texts.append(data[data.index('<br/>')+5:data.index('</div>')]);
    data = data[data.index('</div>'):len(data)];
    con.close();
    return {texts[0]:links[0],texts[1]:links[1],texts[2]:links[2]};
und

Code: Alles auswählen

import Autodragon,time,sys;
import webbrowser;
dragon = raw_input("Enter the dragon codes. Put a #inbetween:").split("#");
cookie = Autodragon.login();
while 1:    
	try:
		data = Autodragon.getData(cookie);
		print "Refresh";
		for d in dragon:
			for t in data:
				if  d == t:
					Autodragon.followLink(data[t], cookie);
					webbrowser.open_new_tab("about:" + data[t][5:]);
					print d + " found";			
	except: 
		exceptionType, exceptionValue, exceptionTraceback = sys.exc_info();
		print exceptionType;	
		print exceptionValue;
		print exceptionTraceback;
		time.sleep(2);
Ich wäre euch super dankbar, wenn einer eine Idee hat, wie man das wieder zum funktionieren bringen kann :'D

P.s. wehe ihr lacht über mein total wichtiges Problem xD

Danke BlackJack fürs schönschreiben von dem Code^^
Zuletzt geändert von Delicat am Sonntag 20. November 2011, 16:10, insgesamt 2-mal geändert.
Dav1d
User
Beiträge: 1437
Registriert: Donnerstag 30. Juli 2009, 12:03
Kontaktdaten:

Hallo und Willkommen,

am Besten du frägst deine Freundin. Wir helfen dir gerne wenn du ein bestimmtes Problem mit Python hast, jedoch ist die Auskunft eher schwammig und wir (alle?) haben auch keinen Account bei diesem Browsergame, ganz zu schweigen, dass es wahrscheinlich gegen die AGB verstößt ;).

Ein paar Anmerkungen:
- wieso immer ein Semikolon am Ende :evil:, das ist nicht C!
- mechanize anstelle der httplib verwenden
- html-Parser verwenden (z.B. lxml)
- korrekt einrücken
the more they change the more they stay the same
Antworten