try:
data = json.load(urllib2.urlopen(url))
cnt = len(data['response'])
print cnt
except:
pass
Кстати, одна из полезных особенностей Python - его кроссплатформенность. Этот код можно выполнить и на Raspberry Pi, и на Windows, и на OSX, он будет работать одинаково.
Практически, подобные фрагменты удобно вынести в отдельную функцию, это делает код читабельнее и понятнее.
def getFriends(friendID):
url = "https://api.vk.com/method/friends.get?user_id=" + str(friendID)
try:
data = json.load(urllib2.urlopen(url))
cnt = len(data['response'])
return cnt
except:
return -1
Тогда вызвать его можно так:
n = getFriends(29744451)
print “Number of friends:”, n
Аналогично с числом подписчиков канала Youtube, все это можно записать в виде функции:
apiKey = "AIzaSyC26UJw-ubU6NXXXXXXXXXXXXXXXXXX"
def getSubscribersCount(channelID):
url = "https://www.googleapis.com/youtube/v3/channels?id=" + channelID + "&part=statistics&key=" + apiKey
try:
data = json.load(urllib2.urlopen(url))
return data["items"][0]["statistics"]["subscriberCount"]
except:
return -1
Может возникнуть вопрос, как мы получили строчку data["items"][0]["statistics"]["subscriberCount"]? Это просто, если посмотреть на json в браузере. Выглядит он напомним, так:
{
"kind": "youtube#channelListResponse",
"items": [
{
"kind": "youtube#channel",
"etag": "\"_gJQceDMxJ8gP-8T2HLXUoURK8c/Ea_ipJwsnrECB064UURA_RcRR0Y\"",