pythonからsinaweibopyパッケージを使ってweiboの投稿を取得したいですがERRORが出る。
下記のプログラムを使って、pythonからweiboの投稿を取得したいです。#!/usr/bin/env python
weiboというモジュールを提供するパッケージが二種類あります。
weiboパッケージとsinaweibopyパッケージです。
下記のリンクからsinaweibopyとpythonの情報取得しました
http://github.liaoxuefeng.com/sinaweibopy/
https://github.com/michaelliao/sinaweibopy/wiki/OAuth2-HOWTO
{"access_token":"2.00skPOWG0zpXw_e8253b9b7c9GKIdE","remind_in":"157679999","expires_in":157679999,"uid":"5973036902”}
code=682ac33cecf21d6efee0882e2a91eba4
私はsinaweibopyパッケージから投稿を取得したいですがErrorが出る。
上記のリンクで書かれた通りにダウンロード(sinaweibopyパッケージ)などしましたがAPIClientのエラーが出ます。
from weibo import APIClient
import urllib2
import urllib
import sys
import time
from time import clock
import csv
import random
reload(sys)
sys.setdefaultencoding('utf-8')
'''Step 0 Login with OAuth2.0'''
if __name__ == "__main__":
APP_KEY = '294703483' # app key
APP_SECRET = 'a2ef9de0a580edb7a26daf2804d27624' # app secret
CALLBACK_URL = 'https://api.weibo.com/oauth2/default.html' # set callback url exactly like this!
AUTH_URL = 'https://api.weibo.com/oauth2/authorize'
USERID = 'xxxxxxxxx' # your weibo user id
PASSWD = 'xxxxxxx' #your pw
client = APIClient(app_key=APP_KEY, app_secret=APP_SECRET, redirect_uri=CALLBACK_URL)
referer_url = client.get_authorize_url()
print "referer url is : %s" % referer_url
cookies = urllib2.HTTPCookieProcessor()
opener = urllib2.build_opener(cookies)
urllib2.install_opener(opener)
postdata = {"client_id": APP_KEY,
"redirect_uri": CALLBACK_URL,
"userId": USERID,
"passwd": PASSWD,
"isLoginSina": "0",
"action": "submit",
"response_type": "code",
}
headers = {"User-Agent": "Mozilla/5.0 (Windows NT 6.1; rv:11.0) Gecko/20100101 Firefox/11.0",
"Host": "api.weibo.com",
"Referer": referer_url
}
req = urllib2.Request(
url = AUTH_URL,
data = urllib.urlencode(postdata),
headers = headers
)
try:
resp = urllib2.urlopen(req)
print "callback url is : %s" % resp.geturl()
code = resp.geturl()[-32:]
print "code is : %s" % code
except Exception, e:
print e
r = client.request_access_token(code)
access_token1 = r.access_token # The token return by sina
expires_in = r.expires_in
print "access_token=" ,access_token1
print "expires_in=" ,expires_in # access_token lifetime by second. http://open.weibo.com/wiki/OAuth2/access_token
"""save the access token"""
client.set_access_token(access_token1, expires_in)
実行結果
[root@localhost デスクトップ]# python yoso.py
Traceback (most recent call last):
File "yoso.py", line 3, in <module>
from weibo import APIClient
ImportError: cannot import name APIClient
もしわかる方いれば教えていただけるとありがたいです。
よろしくお願いいたします。