TypeError: принуждение к Unicode: должен представить в виде строки или буферизовать, Пользователь нашел

я должен проверить Last.fm для пользователей (университетское осуществление). Я плохо знаком с Python и получаю следующую ошибку:

 Traceback (most recent call last):
  File "crawler.py", line 23, in <module>
    for f in user_.get_friends(limit='200'):
  File "/opt/local/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/site-packages/pylast.py", line 2717, in get_friends
    for node in _collect_nodes(limit, self, "user.getFriends", False):
  File "/opt/local/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/site-packages/pylast.py", line 3409, in _collect_nodes
    doc = sender._request(method_name, cacheable, params)
  File "/opt/local/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/site-packages/pylast.py", line 969, in _request
    return _Request(self.network, method_name, params).execute(cacheable)
  File "/opt/local/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/site-packages/pylast.py", line 721, in __init__
    self.sign_it()
  File "/opt/local/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/site-packages/pylast.py", line 727, in sign_it
    self.params['api_sig'] = self._get_signature()
  File "/opt/local/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/site-packages/pylast.py", line 740, in _get_signature
    string += self.params[name]
TypeError: coercing to Unicode: need string or buffer, User found

я использую pylast lib для проверки. что я хочу сделать:

я хочу получить пользовательских друзей и друзей пользовательских друзей. ошибка происходит, когда я имею для цикла в другом для цикла. вот код:

network = pylast.get_lastfm_network(api_key = API_KEY, api_secret = API_SECRET, username = username, password_hash = password_hash)
user = network.get_user("vidarnelson")

friends = user.get_friends(limit='200')

i = 1

for friend in friends:
 user_ = network.get_user(friend)
 print '#%d %s' % (i, friend)
 i = i + 1

 for f in user_.get_friends(limit='200'):
  print f

совет?

заранее спасибо. с уважением!

5
задан SilentGhost 13 April 2010 в 12:39
поделиться

1 ответ

Похоже, что get_friends вернет список объектов User , поэтому вам не нужно вызывать get_user для его записей. Просто используйте:

for friend in friends:
    for f in friend.get_friends(limit='200'):
        ...
6
ответ дан 14 December 2019 в 13:31
поделиться
Другие вопросы по тегам:

Похожие вопросы: