使用Python Django代码编程登录Yahoo/MSN(Hotmail)并获取联系人列表?

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

  •  29-09-2019
  •  | 
  •  

有没有办法可以编程登录Yahoo!,提供电子邮件ID和密码作为输入,并获取用户的联系人?

我在Gmail中使用了Beautifulsoup.py,我完成了同样的事情

Yahoo地址簿API提供了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:Tempnam是您程序的潜在安全风险

无效的用户/密码

WindowsError例外:(2,“系统无法找到指定的文件”,'c: docume〜1 sjain sjain locals〜1 temp 2')in>忽略

有帮助吗?

解决方案

我通过使用Urllib解决了这个问题,这是代码:

loginurl =“ https://login.yahoo.com/config/login?” exporturl =“ http://address.yahoo.com/”

def import_yahoo_contacts(登录,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. 。 Pinax是在Django顶部构建的工具集合。他们的应用程序可以导入与IMFO联系(来自VCARD,Google或Yahoo)。

我建议您使用它,因为您不必维护它加上以避免重新发明周期。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top