2016-12-07 86 views
0

我嘗試了Twitter的API,但它給我這個錯誤:TypeError:無法將'bytes'對象隱式轉換爲python?

Traceback (most recent call last):
File "D:/MAGIC/python/twitterdemo.pu.py", line 23, in
text += status.text.encode('utf-8')
TypeError: Can't convert 'bytes' object to str implicitly

這裏是我的代碼:

import sys 
import operator 
import requests 
import json 
import twitter 
from watson_developer_cloud import PersonalityInsightsV2 as PersonalityInsights 

twitter_consumer_key = '' 
twitter_consumer_secret = '' 
twitter_access_token = '' 
twitter_access_secret = '' 

twitter_api = twitter.Api(consumer_key=twitter_consumer_key, consumer_secret=twitter_consumer_secret, access_token_key=twitter_access_token, access_token_secret=twitter_access_secret) 

handle = "@somethingsoemthing" 
statuses = twitter_api.GetUserTimeline(screen_name=handle, count=200, include_rts=False) 

text = "" 

for status in statuses: 
    print (status.text) 
    if(status.lang == 'en'): #Enligh tweets 
    text += status.text.encode('utf-8') 

我在做什麼錯?

+0

如果你編碼它,它一直是' str'之前,現在是'bytes',但是你需要一個'str'在這裏。所以刪除'.encode('utf-b')'然後再試一次。 –

回答

3

您的text初始化爲str,並且您正試圖向其添加bytes對象(即status.text.encode('utf-8')返回的對象)。初始化textbytes對象和錯誤應該消失:

text = b'' 

或者,你可以完全跳過編碼的文本,它應該工作:

text += status.text 
+0

感謝它現在的作品 –

相關問題