Это демонстрирует, как войти на сайт.Он очень хрупкий, но его цель - продемонстрировать, как обращаться с формами, отправлять их и использовать сеанс для поддержания файлов cookie на всех страницах. Эта программа предполагает, что вы провели исследование и знаете, какие поля необходимо заполнить.
import sys
import requests
import lxml
import getpass
from bs4 import BeautifulSoup
sys.path.append("../lib")
from agentsGalore import agentsGalore
from formHelper import formHelper
начать сеанс сеанса = запросы. Сеанс () ag = agentsGalore ()
def openURL(url,cookie=None):
global session
global ag
headers = ag.makeHeader("MacFirefox58","default","default","langUS")
try:
if cookie:
r = session.get(url, cookies=cookie, headers=headers)
else:
r = session.get(url, headers=headers)
except requests.exceptions.RequestException as e:
print(e)
exit(1)
return r
эта функция выполняет POST для URL с параметрами в хеше def postURL (url, params): global ag глобальные заголовки сеансов = ag.makeHeader («MacFirefox58», «default», «default», «langUS») try: r = session.post (url, data = params), за исключением request.exceptions.RequestException как e: print (e) exit (1)
return r
сначала откройте страницу входа
url = 'https://my.wlc.edu/ICS/'
resp = openURL(url)
fh = formHelper(resp.text)
получите заполненную структуру параметров.Вы можете вызвать fh.analyzeInputs (), чтобы увидеть, каковы все поля ввода.
params = fh.populateFormInputs(fh.getFormById('MAINFORM'))
userid = getpass.getpass("enter your userid:",sys.stderr)
password = getpass.getpass("enter your password:",sys.stderr)
params['userName'] = userid
params['password'] = password
formurl = 'https://my.wlc.edu/ICS/'
res = postURL(formurl,params)