Программно войдите в Yahoo/MSN (Hotmail), используя код Python django и получить список контактов?

StackOverflow https://stackoverflow.com/questions/3904929

  •  29-09-2019
  •  | 
  •  

Вопрос

Есть ли способ программного входа в Yahoo!, Предоставление идентификатора электронной почты и пароля в качестве входных данных, и принести контакты пользователя?

Я достиг того же самого с Gmail, используя beautifulsoup.py

API ARDIC Book Yahoo предоставляет BBAUTH, который требует, чтобы пользователь был перенаправлен на страницу входа в Yahoo. Но я ищу способ аутентификации пользователя с Yahoo без перенаправления. Я попробовал это:http://pypi.python.org/pypi/contactgrabber/0.1

Но я получаю эту ошибку:

Предупреждение (из модуля предупреждений): Файл "C: python26 lib site-packages contactgrabber-0.1-py2.6.egg contactgrabber base.py", строка 31

Runtimewarning: Tempanm - это потенциальный риск безопасности для вашей программы

Неверный пользовательский ирид/пароль

Исключение WindowsError: (2, «Система не может найти указанный файл», 'c: docume ~ 1 sjain locals ~ 1 temp 2') в> игнорируется

Это было полезно?

Решение

Я решил эту проблему, используя Urllib Вот код:

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 

Это действительно работает для меня :)

Другие советы

Вы можете написать один или просто использовать Пинакс. Анкет Pinax - это коллекция инструментов, построенных на вершине Django. У них есть приложение, которое импортирует контакт с IMFO (из VCARD, Google или Yahoo).

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

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top