Mechanize und vBulletin

Sockets, TCP/IP, (XML-)RPC und ähnliche Themen gehören in dieses Forum
Antworten
Kordrion
User
Beiträge: 2
Registriert: Mittwoch 5. August 2009, 10:18

Hallo,


wieder ein mechanize-Thread. Leider habe ich in den anderen nichts zu meiner Frage gefunden.

Vorgeschichte: Ich ärger mich immer wenn ich oft das Selbe mehrmals hintereinander machen muss. Daher habe ich mir gedacht schreib ich mir ein Skript, das das für mich erledigt (bis auf einige Benutzereingaben).
Um direkt Fragen auszuräumen. Die Anwendung soll einen neuen Thread auf Wartower erstellen und ist zum Eigengebrauch und nicht zu Spamzwecken gedacht.

Mein Problem: Das befüllen der Formulare ist soweit kein Problem. Die Passwortabfrage und die Weiterleitung funktionieren gut. Ich komme also bis zum "Thread neu erstellen". Und da tritt nun das Problem auf. Ich kann zwar die 2 Formulare "Titel" und "Stichworte" ausfüllen, aber das "Nachrichten Formular" ist mit Javascript und vBulletin eingebunden. Leider habe ich keine Ahnung wie ich weiter vorgehen soll. Geplant war eine Textdatei (evtl. zeilenweise) zu übergeben, es wäre aber erstmal wichtig wie ich überhaupt auf das Formular zugreifen kann.

Der Qullcode ist unter http://www.andreashoehn-online.de/files/Thread.txt als .txt und unter http://www.andreashoehn-online.de/files/Thread.html als .html abrufbar.

Mein Pythoncode sieht wie folgt aus:

Code: Alles auswählen

br = Browser()
br.set_handle_robots(False)

response1=br.open('http://www.wartower.de/forum/newthread.php?do=newthread&f={phpId}'.format(phpId=phpIdDict[picked]))
#print response1.read() # Seite mit Passwortabfrage

br.select_form(nr=0)
br['vb_login_username']=raw_input('Benutzername:')
br['vb_login_password']=raw_input('Passwort:')
br.submit()
# br.submit().read() # Die Weiterleitungsseite

response2=br.open('http://www.wartower.de/forum/newthread.php?do=newthread&f={phpId}'.format(phpId=phpIdDict[picked]))
#print response2.read()  # "Thread neu erstellen"-Seite

br.select_form(nr=0)
br['subject'] = raw_input('Titel:')
#br['#NACHRICHTEN#'] = raw_input('Nachricht:')
br['taglist'] = raw_input('Stichworte:')
picked ist die jeweilige Kategorie und wird am Anfang festgelegt. phpIdDict ist ein Dictionary mit den Kategorien und ihren IDs.

Wie gesagt ich weiß einfach nicht wie ich auf Nachrichten zugreifen soll und bei Google habe ich leider auch nichts zu diesem Thema gefunden. Ich würde mich sehr freuen, wenn mir irgendjemand einen Denkanstoß oder Lösungsvorschlag geben könnte.

Vielen Dank,

Kordrion
Benutzeravatar
HWK
User
Beiträge: 1295
Registriert: Mittwoch 7. Juni 2006, 20:44

Wenn Du unter Windows arbeitest, wäre Pamie eine Möglichkeit.
MfG
HWK
Kordrion
User
Beiträge: 2
Registriert: Mittwoch 5. August 2009, 10:18

Ah, danke.

Das ist jetzt eine ganz andere Variante. Ich schau mal was sich daraus machen lässt.

Ja ich hab Windows sowie Ubuntu, dann muss ich wohl den Rechner wechseln ^^.


Edit: Leider ist fast jede Seite von Pamie im Umbau.

Diese Variante gefällt mir eher weniger, denn dafür muss ein InternetEx.-Fenster geöffnet werden. Das war der Vorteil an Mechanize.

Ich hab mein Projekt jetzt doch komplett auf PAMIE umgestellt und alles läuft. Wenn aber dennoch jemand eien Idee für die Umsetzung mit mechanize hat bin ich dafür weiterhin offen. ;)

Vielen Dank!
Antworten