2015-07-03 3 views
0

В прежние времена я использовалПолучить количество абонентов канала YouTube

http://gdata.youtube.com/feeds/api/users/USERNAME?v=2&alt=json

, чтобы получить число абонентов для некоторых пользователей. Месяц назад Google отключил этот старый API. Есть ли альтернатива сейчас, которая не использует API_KEY?

ответ

0

Если вам понравилось очень уродливое решение (или вы можете сработать на нем), вы можете использовать YQL.

заменить url с одной у вас есть

https://query.yahooapis.com/v1/public/yql?q=select div from html where url="https://www.youtube.com/user/Computerphile"&format=json&diagnostics=true&callback= 

, а затем принести номер абонента из строки JSon

пример в питоне

>>> import requests 
>>> import json 
>>> r = requests.get('https://query.yahooapis.com/v1/public/yql?q=select div from html where url="https://www.youtube.com/user/Computerphile"&format=json&diagnostics=true&callback=') 
>>> res = json.loads(r.text) 
>>> res ["query"]["results"]["body"][3]["div"]["div"][3]["div"]["div"][4]["div"]["div"][0]["div"]["div"][1]["div"]["span"]["span"][0]["content"] 
u'409,045' 

Вы можете использовать регулярное выражение:

>>> re.findall('"content":"(\d+(,\d*)*?)"',r.text) 
[(u'409,045', u',045')] 

, а затем экстрактив первой группы.

0

Вы можете попробовать использовать subscriptions.list, чтобы получить список субтитров через API-интерфейс. См. Поле mySubscribers.

Смежные вопросы