Как я могу это сделать? Я пытался ввести указанную ссылку (с 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" />
Это возможно?
python
automation
httpclient
webautomation
Бруно 'Shady'
источник
источник
2to3
но теперьModuleNotFoundError
при попытке импорта получаю .ModuleNotFoundError
, используя / преобразовав Twill 1.8.0 и установивlxml
иrequests
сpip install
. Но теперь я получаю,SyntaxError
когда пытаюсь импортировать, потому что где-тоFalse = 0
....Позвольте мне попытаться сделать это проще, предположим, что URL-адрес сайта - 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.
источник
2
вdocs.python.org
URL- адресахАвтоматизация веб-страниц? Определенно "веб-бот"
webbot
даже работает с веб-страницами, которые имеют динамически изменяющиеся идентификаторы и имена классов и имеют больше методов и функций, чем селен или механизация.from webbot import Browser web = Browser() web.go_to('google.com') web.click('Sign in') web.type('mymail@gmail.com' , into='Email') web.click('NEXT' , tag='span') web.type('mypassword' , into='Password' , id='passwordFieldId') # specific selection web.click('NEXT' , tag='span') # you are logged in ^_^
Документация также довольно проста и проста в использовании: https://webbot.readthedocs.io
источник
autocomplete=off
?Could not find a version that satisfies the requirement webbot (from versions: 0.0.1.win-amd64)
Веб-сайты в целом могут проверять авторизацию разными способами, но тот, на который вы нацеливаетесь, кажется, значительно упрощает вам задачу.
Все , что вам нужно , это
POST
вauth/login
URL формы кодированной блобо с различными полями , которые вы видите там (забыли ярлыкиfor
, они украшение для человека посетителей).handle=whatever&password-clear=pwd
и так далее, если вы знаете значения для дескриптора (электронная почта AKA) и пароля, все будет в порядке.Предположительно, этот POST перенаправит вас на какую-то страницу «вы успешно вошли в систему» с
Set-Cookie
заголовком, подтверждающим ваш сеанс (обязательно сохраните этот файл cookie и отправьте его обратно при дальнейшем взаимодействии в течение сеанса!).источник
Для вещей HTTP текущий выбор должен быть: Запросы - HTTP для людей.
источник