Einloggen Webseite und abschicken

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
Zuzel
User
Beiträge: 2
Registriert: Samstag 23. Januar 2021, 19:35

Hallo zusammen,

Ich wünsche erst mal allen ein schönes Wochenende!

Ich hätte es gerne, dass sich das Programm auf einer Webseite einloggt und dann ja-nein-Fragen beantwortet. Den Entscheidungsteil, ob ja oder nein, habe ich schon. Darauf baut das Ganze auf. Die Webseite soll quasi die Grundlage zur Anwendung sein.
Mein Problem ist, dass ich mich da überhaupt nicht auskenne. Ich habe in verschiedenen Foren herausgefunden, dass ich urllib verwenden soll und Benutzernamen und Passwort an urlencode übergeben soll. Da habe ich auch verschiedene Beispiele gefunden und gelernt, dass ich eventuell auf Header, Cookies und HTTPBasicAuthHandler achten muss.
Ich bekomme aber immer schon bei der Authentifizierung Fehler und komme nicht einmal dazu wie man ja oder nein antworten sollte. Es sind meistens urlopen Fehler oder Authentifizierungsfehler. Könnt ihr mir da weiterhelfen?

Codebeispiele sind

Code: Alles auswählen

import urllib.request, urllib.parse, urllib.error
import urllib.request, urllib.error, urllib.parse

username = "username"
password = "password"
url = 'http://url.com/'

values = { 'username': username,'password': password }
data = urllib.parse.urlencode(values)

req = urllib.request.Request(url, data)
response = urllib.request.urlopen(req)
result = response.read()

print(result)

Code: Alles auswählen

import urllib.request, urllib.error, urllib.parse

theurl = 'https://url.com/#modal_login'
username = 'nutzer'
password = 'einPW'

passman = urllib.request.HTTPPasswordMgrWithDefaultRealm()

passman.add_password(None, theurl, username, password)

authhandler = urllib.request.HTTPBasicAuthHandler(passman)

opener = urllib.request.build_opener(authhandler)

urllib.request.install_opener(opener)

pagehandle = urllib.request.urlopen(theurl)
Wie gesagt verstehe ich den Code nicht wirklich. Ich wollte eigentlich auch noch ein Beispiel einer Webseite mit angeben, aber mir fällt nichts Gutes ein zum Testen. Deswegen mal so: Wenn ich mich bei Facebook anmelde, werde ich danach immer gefragt, ob ich die Cookies annehme. Wenn ich jetzt mal ignoriere, dass ich gerne einen Cookiehandler benutzen würde, dann könnt ihr euch das Problem so vorstellen: Das Programm soll sich bei Facebook anmelden und auf 'Cookies akzeptieren' klicken (diese Antwort senden). Das eigentliche Programm soll das dann natürlich 1 Million mal machen oder so...

Ich hoffe, mein Problem ist klar geworden. Bei Rückfragen immer her damit :)
Muss man sich dann eigentlich wieder abmelden? Also zB bei Facebook bleibe ich ja angemeldet, der Nachnutzer des PC soll aber nicht auf das Projekt zugreifen können.

Mit freundlichen Grüßen
Zuzel
Sirius3
User
Beiträge: 18274
Registriert: Sonntag 21. Oktober 2012, 17:20

Ohne die konkrete Webseite zu benennen, kann man dir nicht konkret helfen.
Meist sind Nutzername und Passwort in ein Formular einzugeben und abzuschicken. Das musst du in Python nachprogrammieren.
Ob der Seitenbetreiber aber möchte, dass du eine Million mal automatisiert ja klickst, solltest du ihn zuerst fragen.
Zuzel
User
Beiträge: 2
Registriert: Samstag 23. Januar 2021, 19:35

Danke schon mal für die Antwort.
Ich weiß nicht, ob ich die Webseite benennen darf. Es geht um ein Projekt und ich nehme nur teil.
Ich kann aber mit absoluter Sicherheit sagen, dass der Betreiber möchte, dass ich so oft klicke :) Dafür ist die Seite da.
Hast du allgemeine Tipps? Ich frage mal nach, ob ich die Seite einfach posten darf. Brauchst du dann auch einen Nutzerzugang, um zu wissen, was man machen muss? Das bekomme ich nämlich auf jeden Fall nicht hin.
Gibt es eigentlich noch bessere Möglichkeiten? Ich meine, wenn ich mich selbst einlogge, sehe ich ja nicht, was da Kompliziertes abläuft. Ich dachte anfangs, es wäre wesentlich schwerer, das Programm die Maus steuern zu lassen und richtig einzuloggen, aber mittlerweile kommt mir das doch fast leichter vor.
LG
Benutzeravatar
__blackjack__
User
Beiträge: 14053
Registriert: Samstag 2. Juni 2018, 10:21
Wohnort: 127.0.0.1
Kontaktdaten:

@Zuzel: Der Betreiber möchte vielleicht das *Du* so oft klickst, aber wohl eher nicht, dass ein *Programm* das tut. Würde er das wollen, hätte er eine API dafür zur Verfügung gestellt.
“Vir, intelligence has nothing to do with politics!” — Londo Mollari
Antworten