python djangoコードを使用して、プログラムでyahoo/msn(hotmail)にログインして、連絡先リストを取得しますか?

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

  •  29-09-2019
  •  | 
  •  

質問

Yahoo!にプログラム的にログインして、電子メールIDとパスワードを入力として提供し、ユーザーの連絡先を取得する方法はありますか?

beautifulsoup.pyを使用して、Gmailで同じことを達成しました

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はプログラムに対する潜在的なセキュリティリスクです

無効なuserid/パスワード

例外WindowsError:(2、 'システムは指定されたファイルを見つけることができません'、 'c: docume〜1 sjain locals〜1 temp 2')in>無視

役に立ちましたか?

解決

ここに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 

これは本当に私のためにうまくいきます:)

他のヒント

1つを書くか、使用することもできます ピナックス. 。 Pinaxは、Djangoの上に構築されたツールのコレクションです。彼らは、IMFO(VCard、Google、またはYahooから)に連絡するインポートするアプリケーションを持っています。

サイクルの再発明を避けるために、それを維持する必要がないので、これを使用することをお勧めします。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top