Эффективная фильтрация результатов поиска YouTube API по количеству подписчиковPython

Программы на Python
Anonymous
Эффективная фильтрация результатов поиска YouTube API по количеству подписчиков

Сообщение Anonymous »

Я использую API данных YouTube для поиска каналов, которые соответствуют определенному диапазону количества подписчиков (например, от 100 000 до 500 000 подписчиков). Однако API потребляет много единиц квоты, поскольку он выполняет поиск по нескольким каналам, в том числе по многим из них, которые не соответствуют моим критериям, прежде чем вернуть несколько подходящих.
Например, я делаю поисковый запрос с использованием youtube.search().list для поиска каналов по ключевому слову. После получения результатов я вручную проверяю количество подписчиков каждого канала с помощью метода youtube.channels().list, который дополнительно расходует квоту. Если я ищу 10 каналов и только 3 соответствуют диапазону количества подписчиков, я использовал 10 единиц, 7 из которых были потрачены впустую на каналы за пределами моего целевого диапазона.
Вот минимальный воспроизводимый пример:
Питон

Код: Выделить всё

import requests

API_KEY = 'YOUR_API_KEY'

def search_youtube(query, max_results=10):
url = 'https://www.googleapis.com/youtube/v3/search'
params = {
'part': 'snippet',
'q': query,
'type': 'channel',
'maxResults': max_results,
'key': API_KEY
}
response = requests.get(url, params=params)
return response.json()

def get_channel_details(channel_id):
url = 'https://www.googleapis.com/youtube/v3/channels'
params = {
'part': 'statistics',
'id': channel_id,
'key': API_KEY
}
response = requests.get(url, params=params)
return response.json()

# Sample query and channel processing
query = 'Minecraft'
search_results = search_youtube(query)

for item in search_results.get('items', []):
channel_id = item['id']['channelId']
channel_details = get_channel_details(channel_id)
subscriber_count = int(channel_details['items'][0]['statistics']['subscriberCount'])

if 100000 

Подробнее здесь: [url]https://stackoverflow.com/questions/79020278/efficiently-filter-youtube-api-search-results-by-subscriber-count[/url]

Вернуться в «Python»