Как я могу войти на сайт с Python?

Как мне это сделать? Я пытался ввести определенную ссылку (с urllib), но для этого мне нужно войти в систему.

У меня есть этот источник с сайта:

<form id="login-form" action="auth/login" method="post"> <div> <!--label for="rememberme">Remember me</label><input type="checkbox" class="remember" checked="checked" name="remember me" /--> <label for="email" id="email-label" class="no-js">Email</label> <input id="email-email" type="text" name="handle" value="" autocomplete="off" /> <label for="combination" id="combo-label" class="no-js">Combination</label> <input id="password-clear" type="text" value="Combination" autocomplete="off" /> <input id="password-password" type="password" name="password" value="" autocomplete="off" /> <input id="sumbitLogin" class="signin" type="submit" value="Sign In" /> 

Это возможно?

    6 Solutions collect form web for “Как я могу войти на сайт с Python?”

    Возможно, вы хотите использовать twill (он основан на механизации ). Он довольно прост в использовании и должен быть способен делать то, что вы хотите.

    Он будет выглядеть следующим образом:

     from twill.commands import * go('http://mysite.org') fv("1", "email-email", "blabla.com") fv("1", "password-clear", "testpass") submit('0') 

    Вы можете использовать showforms() чтобы перечислить все формы, как только вы использовали go(...) чтобы перейти на сайт, который хотите войти в систему. Просто попробуйте это из интерпретатора python.

    Позвольте мне попытаться сделать это простым, предположим, что URL-адрес сайта – http://www.example.com, и вам нужно зарегистрироваться, заполнив имя пользователя и пароль, чтобы перейти на страницу входа в систему: http://www.example.com/login .php теперь и просмотреть исходный код и искать URL-адрес действия, который будет в теге формы, что-то вроде

      <form name="loginform" method="post" action="userinfo.php"> 

    теперь возьмите userinfo.php, чтобы сделать абсолютный URL-адрес, который будет « http://example.com/userinfo.php », теперь запустите простой скрипт python

     import requests url = 'http://example.com/userinfo.php' values = {'username': 'user', 'password': 'pass'} r = requests.post(url, data=values) print r.content 

    Надеюсь, что это когда-нибудь поможет кому-то.

    Как правило, вам понадобятся файлы cookie для входа в сайт, что означает cookielib, urllib и urllib2. Вот класс, который я написал, когда играл в интернет-игры Facebook:

     import cookielib import urllib import urllib2 # set these to whatever your fb account is fb_username = "your@facebook.login" fb_password = "secretpassword" class WebGamePlayer(object): def __init__(self, login, password): """ Start up... """ self.login = login self.password = password self.cj = cookielib.CookieJar() self.opener = urllib2.build_opener( urllib2.HTTPRedirectHandler(), urllib2.HTTPHandler(debuglevel=0), urllib2.HTTPSHandler(debuglevel=0), urllib2.HTTPCookieProcessor(self.cj) ) self.opener.addheaders = [ ('User-agent', ('Mozilla/4.0 (compatible; MSIE 6.0; ' 'Windows NT 5.2; .NET CLR 1.1.4322)')) ] # need this twice - once to set cookies, once to log in... self.loginToFacebook() self.loginToFacebook() def loginToFacebook(self): """ Handle login. This should populate our cookie jar. """ login_data = urllib.urlencode({ 'email' : self.login, 'pass' : self.password, }) response = self.opener.open("https://login.facebook.com/login.php", login_data) return ''.join(response.readlines()) 

    Вам не обязательно нужны обработчики HTTPS или Redirect, но они не болят, и это делает нож более надежным. Вам также могут не понадобиться файлы cookie, но трудно сказать только из той формы, которую вы опубликовали. Я подозреваю, что вы могли бы, исключительно из ввода «Запомнить меня», который был прокомментирован.

     import cookielib import urllib import urllib2 url = 'http://www.someserver.com/auth/login' values = {'email-email' : 'john@example.com', 'password-clear' : 'Combination', 'password-password' : 'mypassword' } data = urllib.urlencode(values) cookies = cookielib.CookieJar() opener = urllib2.build_opener( urllib2.HTTPRedirectHandler(), urllib2.HTTPHandler(debuglevel=0), urllib2.HTTPSHandler(debuglevel=0), urllib2.HTTPCookieProcessor(cookies)) response = opener.open(url, data) the_page = response.read() http_headers = response.info() # The login cookies should be contained in the cookies variable 

    Для получения дополнительной информации посетите: https://docs.python.org/2/library/urllib2.html

    Веб-сайты в целом могут проверять авторизацию по-разному, но та, которую вы нацеливаете, кажется, делает ее достаточно легкой для вас.

    Все, что вам нужно, это POST на URL auth/login закодированный в форме, с различными полями, которые вы там видите (забудьте о ярлыках, они украшают посетителей для людей). handle=whatever&password-clear=pwd и т. д., пока вы знаете значения для дескриптора (адрес электронной почты AKA) и пароль, вы должны быть в порядке.

    Предположительно, POST перенаправит вас на страницу «Вы успешно вошли в систему» ​​с заголовком Set-Cookie подтверждающим ваш сеанс (обязательно сохраните этот файл cookie и отправьте его на дальнейшее взаимодействие по сеансу!).

    Для HTTP-вещей текущий выбор должен быть: Requests-HTTP для людей

     
    Interesting Posts for Van-Lav

    Как применять шаблоны типов SWIG OUTPUT для типов классов в Python?

    Распечатайте все четные числа в списке до определенного номера

    сочетание клавиш для очистки выхода ячеек в ноутбуке jupyter

    Проверка и индексирование не-уникальных / повторяющихся значений в массиве numpy

    Как подклассы str в Python

    Проблема с Caesar Cipher

    Построить гистограмму из словаря

    Как добавить элемент в верхней части OrderedDict в python?

    В python во время выполнения определите, является ли объект экземпляром класса (старый и новый)

    получение понедельника, 5 июня 2016 года, а не 5 июня 2016 года с использованием DateTimeField

    Форматирование списка текста в столбцы

    Где корневой журнал регистрации Python хранит журнал?

    Проблема двойной реализации TK Framework

    Структура данных для реализации словаря с несколькими индексами?

    Как определить скорость обучения и дисперсию алгоритма градиентного спуска?

    Python - лучший язык программирования в мире.