python 新浪微博登陆,python新浪微博,按照别人blog做的py


按照别人blog做的python登陆新浪微博 大家甚用啊~!

import reimport jsonimport urllibimport base64import hashlibimport requestsWBCLIENT = 'ssologin.js(v.1.3.18)'sha1 = lambda x: hashlib.sha1(x).hexdigest()def wblogin(username, password):    session = requests.Session()#        headers={ #           'User-Agent': 'Mozilla/5.0 (Windows NT 5.1) AppleWebKit/537.1 (KHT'  #                        'ML, like Gecko) Chrome/21.0.1180.89 Safari/537.1'   #     }    #)    resp = session.get(        'http://login.sina.com.cn/sso/prelogin.php?entry=weibo&callback=sina'        'SSOController.preloginCallBack&su=%s&client=%s' %        (base64.b64encode(username), WBCLIENT)    )    pre_login_str = re.match(r'[^{]+({.+?})', resp.content).group(1)    pre_login_json = json.loads(pre_login_str)    data = {        'entry': 'weibo',        'gateway': 1,        'from': '',        'savestate': 7,        'useticket': 1,        'ssosimplelogin': 1,        'su': base64.b64encode(urllib.quote(username)),        'service': 'miniblog',        'servertime': pre_login_json['servertime'],        'nonce': pre_login_json['nonce'],        'pcid': pre_login_json['pcid'],        'vsnf': 1,        'vsnval': '',        'pwencode': 'wsse',        'sp': sha1(sha1(sha1(password)) +                   str(pre_login_json['servertime']) +                   pre_login_json['nonce']),        'encoding': 'UTF-8',        'url': 'http://weibo.com/ajaxlogin.php?framelogin=1&callback=parent.si'               'naSSOController.feedBackUrlCallBack',        'returntype': 'META'    }    resp = session.post(        'http://login.sina.com.cn/sso/login.php?client=%s' % WBCLIENT,        data=data    )    login_url = re.search(r'replace\\([\\"\\']([^\\'\\"]+)[\\"\\']',                          resp.content).group(1)    resp = session.get(login_url)    login_str = re.match(r'[^{]+({.+?}})', resp.content).group(1)    return session, json.loads(login_str)if __name__ == '__main__':    from pprint import pprint    session, login_info = wblogin('xxxxxxx@qq.com', 'xxxxxx')    uid = login_info['userinfo']['uniqueid']    url = "http://weibo.com/u/"+uid    resp = session.get(url)    print resp.content#该片段来自于http://byrx.net

评论关闭