• Python3获取新浪微博内容乱码问题


    用python获取新浪微博最近发布内容的时候调用 public_timeline()函数的返回值是个jsonDict对象,首先需要将该对象通过json.dumps函数转换成字符串,然后对该字符串用GBK进行编码和解码,注意编码的时候函数encode的第二个参数要使用ignore(默认是strict),以防止当解码错误的时候报错而使程序意外退出 。

    import webbrowser
    import sinaweibopy3  
    from time import sleep
    import json
    def getLotsOfWeibo(searchStr):
        APP_KEY='你的key'
        APP_SECRET='你的密码'
        REDIRECT_URL='https://api.weibo.com/oauth2/default.html'
        client=sinaweibopy3.APIClient(app_key=APP_KEY,app_secret=APP_SECRET,redirect_uri=REDIRECT_URL)
        url = client.get_authorize_url()
        print(url)
        webbrowser.open_new(url)
        result = client.request_access_token(
                input("please input code : "))  # Enter the CODE obtained in the authorized address
        print(result)
        client.set_access_token(result.access_token, result.expires_in)
        t=client.public_timeline()
        t1=json.dumps(t,ensure_ascii=False)
        t1=t1.encode('gbk','ignore').decode('gbk')#采用GBK打印,忽略编码错误否则会报错
        print (t1)  # get the latest public Weibo
    来源:我的个人博客
  • 相关阅读:
    1-5概率的公理化的定义
    1-4几何概型
    1-3古典概型
    求逆序对数量
    1-2事件的基本运算
    1001 害死人不偿命的(3n+1)猜想 (15 分)
    北京周末去哪儿 —— 国家博物馆
    北京周末去哪儿 —— 天安门广场
    angular中使用ckplayer播放器
    java MD5/AES/DES加解密汇总
  • 原文地址:https://www.cnblogs.com/nerd/p/10322278.html
Copyright © 2020-2023  润新知