Cet article présente principalement en détail la méthode d'implémentation de la soumission de formulaire de simulation Python et de la bibliothèque de connexion. Il a une certaine valeur de référence. Les amis intéressés peuvent s'y référer
Les exemples de cet article sont partagés avec vous. Le code spécifique pour Python pour simuler la connexion à la bibliothèque est pour votre référence. Le contenu spécifique est le suivant
Le principe de la simulation de soumission de formulaire :
Nous savons tous que Http est apatride. , donc lorsque nous soumettons les données sont les mêmes que celles normalement soumises dans le navigateur, le serveur renverra la même réponse que dans le navigateur. Nous allons donc ici simuler la soumission du formulaire du navigateur pour se connecter à la bibliothèque de l'Université de technologie du Guangdong http://222.200.122.171:7771/login.aspx, pour obtenir le cookie , nous accéderons ensuite au livre. Lorsque j'accéderai à d'autres pages du site Web du musée, j'apporterai ce cookie. Le serveur pensera que je suis un utilisateur connecté et me renverra les données normalement.
Nous utilisons d'abord le navigateur pour afficher le code source de la page afin de trouver le formulaire à soumettre :
Ensuite, nous devons obtenir l'entrée dans le formulaire y compris caché, Parce que caché sera également soumis avec le formulaire. Recherchez le nom correspondant au compte et au mot de passe. Ensuite, nous devons le remplir avec notre propre compte
Obtenez tous les formulaires à soumettre Après avoir saisi le contenu, remplacez le numéro de compte et le mot de passe par votre propre numéro de compte et mot de passe, soumettez la demande. Obtenez le cookie et enregistrez-le dans le cookie. Le code est le suivant (la version Python2.7 et Python3 sont en fait similaires) :# -*- 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 réalise une fonction de réservation automatique de la salle d'étude de la bibliothèque
Python Requests simule la connexion pour réaliser la réservation automatique des places de bibliothèque
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!