При выполнении кода, он показывает эту ошибку:Как исправить TypeError: строковые индексы должны быть целыми числами?
File "E:\python343\crawler.py", line 36, in <module>
if(x2['type']=='status'):
TypeError: string indices must be integers
Вот код:
#PRINTING YOUR FRIEND ALL "favorite_teams"
fs = g.get_object("me/friends")
for f in fs['data']:
#print f
#print f['name'],f['id']
print (f['name'])
for x in g.get_object(f['id'])['favorite_teams']:
print (x['name'])
#SEACHING TOP 10 PAGE ON INPUTTING PAGE NAME AND OUTPUT AS PAGE ID
x= g.request('search', {'q' : 'TaylorSwift', 'type' : 'page', 'limit' : 1000})['data'][0]['id']
non_bmp_map = dict.fromkeys(range(0x10000, sys.maxunicode + 1), 0xfffd)
#GET ALL STATUS POST ON PARTICULAR PAGE(X=PAGE ID)
for x1 in g.get_connections(x, 'feed')['data']:
print (str(x1).translate(non_bmp_map))
for x2 in x1:
print (str(x2).translate(non_bmp_map))
if(x2['type']=='status'):
x2['message']
Так как делать с x2['type']
, чтобы исправить ошибку ??
Надеемся, что помогли, спасибо.
Можете ли вы предоставить подробную информацию о 'x2'? – sam
В сообщении об ошибке указано, что x2 - это строка. В этом случае обозначение «x2 [n]» означает n-й символ x2. Но индекс (n) должен быть целочисленным выражением, и вместо этого вы используете 'type', который является строкой. Вам нужно будет предоставить более подробную информацию, если вам нужна более конкретная помощь. – saulspatz
Спасибо, я редактирую код в этом вопросе, пожалуйста, проверьте его. – Andi