Programmgesteuert sich mit dem Python -Django -Code in Yahoo/MSN (Hotmail) anmelden und die Kontaktliste erhalten?
-
29-09-2019 - |
Frage
Gibt es eine Möglichkeit, sich programmgesteuert bei Yahoo!, E -Mail -ID und Kennwort als Eingaben anzugeben und die Kontakte des Benutzers abzurufen?
Ich habe dasselbe mit Google Mail mit schönerSoup.py erreicht
Die API von Yahoo Adressbuch bietet BBAUTH, wodurch der Benutzer auf die Yahoo -Anmeldeseite umgeleitet werden muss. Aber ich suche nach einer Möglichkeit, den Benutzer mit Yahoo ohne Umleitung zu authentifizieren. Ich habe das versucht:http://pypi.python.org/pypi/contactgrabber/0.1
Aber ich bekomme diesen Fehler:
WARNUNG (aus Warnmodul): Datei "C: Python26 lib Site-Packages contactgrabber-0.1-py2.6.Egg contactgrabber base.py", Zeile 31
RunTimeWarning: Tempnam ist ein potenzielles Sicherheitsrisiko für Ihr Programm
Ungültige BenutzerID/Passwort
Ausnahme WindowsError: (2, 'Das System kann die angegebene Datei nicht finden', 'c: docume ~ 1 sjain locals ~ 1 temp 2') in> Ignored
Lösung
Ich habe dieses Problem gelöst, indem ich urllib hier verwendet habe, ist der Code:
Loginurl = "https://login.yahoo.com/config/login?" Exporturl = "http://address.yahoo.com/"
Def Import_yahoo_Contacts (Login, Passwd):
try :
form_data = {'login' : login, 'passwd' : passwd}
jar = cookielib.CookieJar()
opener = urllib2.build_opener(urllib2.HTTPCookieProcessor(jar))
form_data = urllib.urlencode(form_data)
resp = opener.open(LoginUrl, form_data)
resp = opener.open(ExportUrl)
page = resp.read()
index = page.find('InitialContacts')
startjson = page.index('[',index)
endjson = page.index(']',index)
Jsondata = page[startjson:endjson+1]
user_contacts = []
data =json.JSONDecoder().decode(Jsondata)
for r in data:
userfriends = []
userfriends.append(r.get('contactName'))
userfriends.append(r.get('email'))
user_contacts.append(userfriends)
except:
return []
return user_contacts
Das funktioniert wirklich für mich :)
Andere Tipps
Sie könnten einen schreiben oder einfach verwenden Pinax. Pinax ist eine Sammlung von Werkzeugen, die oben auf Django basieren. Sie haben eine Anwendung, die IMFO (von VCard, Google oder Yahoo) importiert.
Ich schlage vor, Sie verwenden dies, da Sie es nicht beibehalten müssen, um das Neuerfindung des Zyklus zu vermeiden.