2016-07-01 11 views
0

Ich brauche http://mediaweather.meteogroup.co.uk/ in die folgenden Website einzuloggen Ich habe versucht, mit dem folgenden Code, um diese mit Python zu tun, aber es scheint keine Hilfe anmelden würde geschätzt :)Anmeldung auf eine Website mit Python und urllib2

import urllib, urllib2, cookielib 

username = '' 
password = '' 

cj = cookielib.CookieJar() 
opener = urllib2.build_opener(urllib2.HTTPCookieProcessor(cj)) 
login_data = urllib.urlencode({'username' : username, 'password' : password}) 
opener.open('http://mediaweather.meteogroup.co.uk/login', login_data) 
resp = opener.open('http://mediaweather.meteogroup.co.uk/observations/table/6040?country_id=6040&d=01&m=07&y=2016&h=11&i=00&sort=landstat_name_wmo&order=asc') 
print resp.read() 
+0

Sie einen Blick auf, sollte [mechanisieren] (https://pypi.python.org/pypi/mechanize/) –

+0

Verwenden Sie 'Anfragen' für Web-Anfrage, warum? - Hier - http://stackoverflow.com/questions/2018026/what-are-the-differences-between-the-urllib-urllib2-and-requests-module – wolframalpha

+0

Sie können die Selen-Bibliothek auch versuchen. –

Antwort

0

ich würde requests verwenden, um die Formulardaten zu veröffentlichen, die folgende Abbildung zeigt Ihnen, wie:

# post url for logon 
url = "http://mediaweather.meteogroup.co.uk/login/process" 

data = {"txtusername": "username", 
     "txtpassword": "pass"} 

with requests.Session() as s: 
     # login 
     s.post(url, data=data) 
     # get page you want 
     html = s.get('http://mediaweather.meteogroup.co.uk/observations/table/6040?country_id=6040&d=01&m=07&y=2016&h=11&i=00&sort=landstat_name_wmo&order=asc).content