makineye giriş yapılır http://www.magickartenmarkt.de web sitesine giriş yapmaya çalışıyorum ve üye alanında (https://www.magickartenmarkt.de/?mainPage=showWants) bazı analizler yapıyorum. Bunun için başka örnekler gördüm, ancak yaklaşımlarımın neden işe yaramadığını anlamıyorum. İlk yaklaşım için doğru formları belirledim, ancak işe yarayıp yaramadığı belli değil. İkinci yaklaşımda, geri ödeme web sayfası bana üye alanına erişimim olmadığını gösteriyor.Python ile bir web sitesinde nasıl oturum açılır ve
Yardımlardan memnun olurum.
import urllib2
import cookielib
import urllib
import requests
import mechanize
from mechanize._opener import urlopen
from mechanize._form import ParseResponse
USERNAME = 'Test'
PASSWORD = 'bla123'
URL = "http://www.magickartenmarkt.de"
# first approach
request = mechanize.Request(URL)
response = mechanize.urlopen(request)
forms = mechanize.ParseResponse(response, backwards_compat=False)
# I don't want to close?!
#response.close()
# Username and Password are stored in this form
form = forms[1]
form["username"] = USERNAME
form["userPassword"] = PASSWORD
#proof entering data has worked
user = form["username"] # a string, NOT a Control instance
print user
pw = form["userPassword"] # a string, NOT a Control instance
print pw
#is this the page where I will redirected after login?
print urlopen(form.click()).read()
#second approach
cj = cookielib.CookieJar()
opener = urllib2.build_opener(urllib2.HTTPCookieProcessor(cj))
login_data = urllib.urlencode({'username' : USERNAME, 'userPassword': PASSWORD})
#login
response_web = opener.open(URL, login_data)
#did it work? for me not....
resp = opener.open('https://www.magickartenmarkt.de/?mainPage=showWants')
print resp.read()
Tavsiyeniz için teşekkürler! Bir çekicilik gibi çalışır. Bu uygulama ile çerezler hakkında endişelenmem gerekir mi? Ayrıca, bu 'browser.set_handle_refresh (mechanize._http.HTTPRefreshProcessor(), max_time = 1)' öğesinin bulundu. Tarayıcı (nesne?) Web sayfalarını her saniye yenileyeceği anlamına mı geliyor? – Rappel
Tarayıcı, çerezleri kendi oturumuna kaydeder (komut dosyası sona erdikten sonra kaybolur veya artık bu örneği kullanmazsınız). HOWEVER, bu çerezlerin gelecekteki oturumlar için kullanılabilir olmasını istiyorsanız (ör. Çerezlerin süresi dolmadığı sürece bir komut dosyasına gelecek çağrılarda), cookielib'i kullanmak zorundasınız, http://docs.python.org /2/library/cookielib.html – Ford
Bu tarayıcının "mechanize.Browser()" –