微博 获取指定用户发表的所有微博

    实现比较简单,只是要从那么多API中找一个符合自己的应用的需要花点时间,特别是像我这种刚接触的,而网上没什么人发关于这方面的blog,
难度就提高一些了。没什么好多说的,一看我下面的源码,二看链接中新浪的API说明。

我使用到的新浪API statuses/user_timeline

#授权使用
    APP_KEY = 'xxxxxxx'
    MY_APP_SECRET = 'xxxxxxxxxx'
    REDIRECT_URL = 'http://api.weibo.com/oauth2/default.html'

    client = weibo.APIClient(APP_KEY, MY_APP_SECRET)
    authorize_url = client.get_authorize_url(REDIRECT_URL)
    print(authorize_url)
    webbrowser.open_new(authorize_url)

    code = raw_input("input code:")
    request = client.request_access_token(code, REDIRECT_URL)
    access_token = request.access_token
    expires_in = request.expires_in
    client.set_access_token(access_token, expires_in)

    uName = "xxxx"
    print getUserAllComments(client, uName)
#可以把userName改成uid
  def getUserAllComments(client, userName):
        i = 1
        comments = ""
        while (True):
            pieceComment = client.get.statuses__user_timeline(count=100,screen_name=userName, page=i)
            #已经获取到最早的微博信息,此时api返回的内容是空,所以以此为结束标记
            if (len(pieceComment["statuses"]) == 0):
                break
            i += 1 
            #控制输出内容格式和编码--直接显示中文,否则看到的是unicode编码
            content = json.dumps(pieceComment, ensure_ascii=False, indent=4, encoding="utf-8")
            comments += content
            
        return comments

你可能感兴趣的:(微博,新浪,指定用户)