Dieser Artikel stellt hauptsächlich die Implementierungsmethode der Python-Simulationsformular-Übermittlung und -Anmeldebibliothek vor. Er hat einen bestimmten Referenzwert.
Die Beispiele in diesem Artikel werden mit Ihnen geteilt Der spezifische Code für Python zur Simulation der Anmeldung bei der Bibliothek ist wie folgt:
Das Prinzip der Formularübermittlungssimulation:
Wir alle wissen, dass HTTP zustandslos ist Wenn wir also senden, stimmen die Daten mit denen überein, die normalerweise im Browser übermittelt werden. Dann gibt der Server dieselbe Antwort wie im Browser zurück. Hier simulieren wir also die Browser-Formularübermittlung, um uns bei der Bibliothek der Guangdong University of Technology anzumelden http://222.200.122.171:7771/login.aspx, um das Cookie zu erhalten , wir werden als nächstes auf das Buch zugreifen. Wenn ich andere Seiten der Museumswebsite betrete, werde ich dieses Cookie mitbringen. Der Server geht davon aus, dass ich ein angemeldeter Benutzer bin, und sendet die Daten normal an mich zurück.
Zuerst verwenden wir den Browser, um den Quellcode der Seite anzuzeigen, um das Formular zu finden, das übermittelt werden soll:
Als nächstes müssen wir die Eingaben in das Formular übernehmen einschließlich versteckt, weil versteckt wird auch zusammen mit dem Formular eingereicht. Suchen Sie den Namen, der dem Konto und dem Passwort entspricht. Dann müssen wir es mit unserem eigenen Konto ausfüllen > Holen Sie sich alle einzureichenden Formulare. Ersetzen Sie nach Eingabe des Inhalts die Kontonummer und das Passwort durch Ihre eigene Kontonummer und Ihr Passwort, senden Sie die Anfrage ab. Holen Sie sich das Cookie und speichern Sie es im Cookie.
Der Code lautet wie folgt (Python2.7-Version und Python3 sind tatsächlich ähnlich):
# -*- coding:utf-8 -*- import urllib import urllib2 import cookielib import bs4 result = urllib2.urlopen("http://222.200.122.171:7771/login.aspx") soup = bs4.BeautifulSoup(result, "html.parser") loginp = soup.find("form", attrs={"name": "aspnetForm"}) Allinput = loginp.findAll("input") inputData = {} for oneinput in Allinput: if oneinput.has_attr('name'): if oneinput.has_attr('value'): inputData[oneinput['name']] = oneinput['value'] else: inputData[oneinput['name']] = "" inputData['ctl00$ContentPlaceHolder1$txtPas_Lib'] = '*****' inputData['ctl00$ContentPlaceHolder1$txtUsername_Lib'] = '*******' filename = 'cookie.txt' # 声明一个MozillaCookieJar对象实例来保存cookie,之后写入文件 cookie = cookielib.MozillaCookieJar(filename) opener = urllib2.build_opener(urllib2.HTTPCookieProcessor(cookie)) postdata = urllib.urlencode(inputData) result2 = opener.open("http://222.200.122.171:7771/login.aspx", postdata) cookie.save(ignore_discard=True, ignore_expires=True) #登录后 要访问的url bookUrl = "http://222.200.122.171:7771/user/userinfo.aspx" result=opener.open(bookUrl) print result.read()
Python realisiert die automatische Reservierungsfunktion für den Lernraum der Bibliothek
Python Requests simuliert die Anmeldung, um die automatische Reservierung von Bibliotheksplätzen zu realisieren
Das obige ist der detaillierte Inhalt vonAnmeldebibliothek für die Einreichung von Python-Simulationsformularen. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!