Witaj szanowny Gościu na forum Odjechani.com.pl. Serdecznie zachęcamy do rejestracji. Tylko u nas tak przyjazna atmosfera. Kliknij tutaj, aby się zarejestrować i dołączyć do grona Odjechanych!

Strona odjechani.com.pl może przechowywać Twoje dane osobowe, które w niej zamieścisz po zarejestrowaniu konta. Odjechani.com.pl wykorzystuje również pliki cookies (ciasteczka), odwiedzając ją wyrażasz zgodę na ich wykorzystanie oraz rejestrując konto wyrażasz zgodę na przetwarzanie swoich danych osobowych w ramach funkcjonowania serwisu. Więcej informacji znajdziesz w naszej polityce prywatności. Pozdrawiamy!


Prosty bot do logowania na go2goal.com
#1
Napisałem w Pythonie prostego bota, który wykonuje logowanie na go2goal.com. Pomimo tego, że bot jest bardzo prosty, pomyślałem, że może on się komuś przydać w celu nauki pisania takich rzeczy. Pokazuje on wykonywanie zapytań, wyciąganie danych regexem i kodowanie danych do odpowiedniej postaci. Program ten był zleceniem i miał na tej stronie wykonywać dodatkowe czynności poza samym logowaniem, jednak przez niedogadanie się z klientem w kwestii ceny, zaniechałem dalszych prac nad nim. 
Kod oraz krótki film z jego działania znajdziecie tutaj: https://github.com/arkadiusz97/go2goal.com-simply-bot
Nie gwarantuję, że cały czas będzie on działał, ponieważ może zmienić się strona i tym samym może trzeba będzie robić inne zapytania.
  Odpowiedz
#2
Wersja, która po zalogowaniu wykonuje pierwszy trening:
import re
import requests
import urllib
def csrf_token(requestsSession, url):
    reply = requestsSession.get(url)
    ReResult = re.search(r'"csrf-token" content="(.*?)"', reply.text)
    token = ReResult.group(1)
    token = urllib.parse.quote_plus(token)
    return token
requestsSession = requests.Session()
login = input('Login: ')
password = input('password: ')
headers = {
    'Host': 'go2goal.com',
    'Accept-Encoding': 'gzip, deflate, br',
    'Accept-Language': r'pl,en-US;q=0.7,en;q=0.3',
    'Upgrade-Insecure-Requests': '1',
    'User-Agent': r'Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/56.0.2924.87 Safari/537.36',
    'Accept': r'text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8',
    'Cache-Control': 'max-age=0',
    'Connection': 'keep-alive',
}
headers2 = {
    'Content-Type': 'application/x-www-form-urlencoded',
    'Referer': 'https://www.go2goal.com/'
    }
requestsSession.headers.update(headers)
token = csrf_token(requestsSession, r'https://www.go2goal.com/')
requestsSession.headers.update(headers2)
postData = r'utf8=%E2%9C%93&authenticity_token='+token+r'&user%5Blogin%5D='+login+r'&user%5Bpassword%5D='+password+r'&user%5Bremember_me%5D=0&commit=Zaloguj+si%C4%99'
reply = requestsSession.post(r'https://www.go2goal.com/users/sign_in', postData)#Logowanie
print(reply.text)
print('_______________________________________________________________________________________________________________________________________')
reply = requestsSession.post(r'https://go2goal.com/training/1/exercise/1', r'_method=post&authenticity_token='+csrf_token(requestsSession, r'https://go2goal.com/trainer/1'))#Zrobienie treningu
print(reply.text)
  Odpowiedz


Skocz do:


Użytkownicy przeglądający ten wątek: 1 gości