Просто. Я делаю команду поиска на YouTube для разногласий с использованием python Это код:
async def youtube(ctx, *, search): query_string = urllib.parse.urlencode(< ‘search_query’: search >) htm_content = urllib.request.urlopen( ‘http://www.youtube.com/results?’ + query_string ) search_results = re.findall(‘href=»\/watch\?v=(.)’, htm_content.read().decode()) await ctx.send(‘http://www.youtube.com/watch?v=’ + search_results[0])
Ошибка, которая у меня возникает, такова:
Ignoring exception in command youtube: Traceback (most recent call last): File «C:UsersRyzenAppDataRoamingPythonPython37site-packagesdiscordextcommandscore.py», line 83, in wrapped ret = await coro(*args, **kwargs) File «C:UsersRyzenDesktopaebotbot 2.0bot.py», line 738, in youtube await ctx.send(‘http://www.youtube.com/watch?v=’ + search_results[0]) IndexError: list index out of range The above exception was the direct cause of the following exception: Traceback (most recent call last): File «C:UsersRyzenAppDataRoamingPythonPython37site-packagesdiscordextcommandsbot.py», line 892, in invoke await ctx.command.invoke(ctx) File «C:UsersRyzenAppDataRoamingPythonPython37site-packagesdiscordextcommandscore.py», line 797, in invoke await injected(*ctx.args, **ctx.kwargs) File «C:UsersRyzenAppDataRoamingPythonPython37site-packagesdiscordextcommandscore.py», line 92, in wrapped raise CommandInvokeError(exc) from exc discord.ext.commands.errors.CommandInvokeError: Command raised an exception: IndexError: list index out of range
user14150525 23 сен ’20 в 07:27 2020-09-23 07:27
2020-09-23 07:27
4 ответа
Я исправил это, изменив строку регулярного выражения на это:
Тайм-коды для Ютуб видео. Что такое тайм код.
re.findall( r»watch?v=(S)», html_content.read().decode())
После этого у меня сработало
24 фев ’21 в 17:57 2021-02-24 17:57
2021-02-24 17:57
Нимешка правильный, что бы вы ни использовали для заполнения этого search_results list ничего не может найти.
Есть несколько вещей, которые вы можете сделать для отладки. Во-первых, попробуйте захватить содержимое htm_content.read().decode() в файл, чтобы увидеть, что вы получаете. Есть очень большая вероятность, что вам подали капчу, ошибку или что-то еще, что вы не можете использовать, потому что вы не отправляете User-Agent со своим запросом.
Предполагая, что вы получили желаемый ответ DOM, наличие копии в файле может помочь вам более точно написать ваше регулярное выражение. Это в дополнение к онлайн-инструментам, таким как regexr или regex101 для тестирования / отладки, поможет больше. А затем используя r»strings» означает, что вы можете скопировать регулярное выражение напрямую, без необходимости дублировать каждую обратную косую черту.
BASE = «https://youtube.com/results» async def youtube(ctx, *, search): p = # Spoof a user agent header or the request will immediately fail h = async with aiohttp.ClientSession() as client: async with client.get(BASE, params=p, headers=h) as resp: dom = await resp.text() # open(«debug.html», «w»).write(dom) found = re.findall(r’href»/watch?v=([a-zA-Z0-9_-])’, dom) return f»https://youtu.be/»
Последнее предупреждение: Google имеет тенденцию показывать рекламу вместо лучших результатов, поэтому просто помните, что на самом деле возвращает ваше регулярное выражение;)
УЖАСЫ ПОИСКОВОЙ СТРОКИ на YouTube…
В качестве альтернативы я бы предложил создать новый проект разработчика с API Google, так как это позволит вам полностью пропустить часть веб-сканирования и вместо этого использовать клиент API. Использование pip installs для google-api-python-client :
from googleapiclient.discovery import build def get_service(): # Get developer key from «credentials» tab of api dashboard return build(«youtube», «v3″, developerKey=»key») def search(term, channel): service = get_service() resp = service.search().list( part=»id», q=term, # safeSearch=»none» if channel.is_nsfw() else «moderate», videoDimension=»2d», ).execute() return resp[«items»][0][«id»][«videoId»]
Источник: stackru.com
Открыть ютуб поиск. Поиск видео на YouTube с помощью простых команд
Часто ко мне обращаются бизнесмены и компании, которые хотят продвинуться в ТОП поиска по определённым нишевым коммерческим запросам (часто по региональным запросам). Они хотят представить свой бренд на платформе YouTube и это, как они ожидают, должно продвинуть их бренд, повысить продажи, увеличить конверсию.
Пара примеров таких запросов: «купить квартиру в пушкино», «купить айфон в Кирове». Вот по таким запросам люди стремятся продвинуться в топ.
Сейчас мы поговорим о том, почему такая стратегия неверна и практически всегда приведёт к сливу бюджета а не успеху.
Как вы понимаете, YouTube в его нынешнем облике это не поисковая система в обычном понимании и основной целевой трафик там можно получать либо из , либо с главной страницы YouTube. Поиск это лишь дополнение.
Основной целевой трафик обеспечивается алгоритмами, основанных на системе рекомендаций видео с учётом интересов зрителей.
Ещё раз — реализуются эти алгоритмы главным образом через:
- похожие видео
- главную страницу
- ваш прошлый опыт (история просмотров)
- ваше взаимодействие с видеороликами (лайки/дизлайки)
- суммарное время просмотров
- поисковая активность
- и ряд других факторов (комментарии в том числе)
Поиск YouTube это менее персонализированный трафик и, как установили сотрудники YouTube, более холодный трафик. Можно наблюдать меньшее (а также конверсия и лояльность) в случае, когда зритель пришёл с поиска, а не из вышеперечисленных источников.
Поисковые запросы ограничены частотностью и, например, если запрос «купить квартиру в. » имеет частотность в 500 запросов в месяц, то 500 это МАКСИМУМ. К тому же, в данном примере сложно представить, чтобы человек, желающий купить квартиру где-либо, вводил такой запрос в поиске YouTube, когда есть Яндекс и Google.
Таким образом, как вы уже понимаете, поиска YouTube — это тупиковая стратегия развития.
Возвращаясь к нашему примеру с желающим купить недвижимость. Квартиру логичнее всего искать через Яндекс.Недвижимость, а на YouTube смотреть такие видео как:
- советы при покупке квартиры в новостройке
- что проверить при покупке квартиры
- как не получить проблем, покупая недвижимость на вторичном рынке
- советы по оформлению документов
- стоит ли сотрудничать с риэлтором
Другими словами, в реальности человек будет искать практические советы, ценный контент, помогающий решить вопрос клиента, но не какой-то коммерческий запрос.
Отсюда получается абсолютно другая контент-стратегия развития канала, который хочет получать клиентов в данной сфере.
Более эффективный поиск на YouTube с помощью поисковых операторов
Поиск на YouTube сложен, потому что контента очень много, поэтому иногда лучше сделать расширенный поиск. Это не следует путать с «параметрами поиска», доступными во время поискового запроса YouTube, поскольку они ограничены ключевыми функциями YouTube, но не конкретными условиями поиска. Как и в Google, вы можете искать на YouTube через операторов поиска.
Многие из тех же операторов поиска, которые работают в Google, работают и на YouTube. Фильтруйте свои результаты так, как вы хотите, а не так, как они хотят. Вы можете исключить или включить любое ключевое слово во время поиска, а также искать неизвестные ключевые слова между известными словами. Вы также можете искать только названия видео. Много вариантов!
Для получения дополнительной информации посетите пост 4blogger.
В процессорах Intel потребительского класса обнаружена неустранимая уязвимость безопасности аппаратного уровня, но ее трудно использовать
В процессорах Intel недавно обнаруженная уязвимость системы безопасности встроена глубоко в аппаратное обеспечение. Брешь в системе безопасности кажется неустранимой и, как сообщается, затрагивает поч.
Далее
5 лучших инструментов и программного обеспечения для управляемой передачи файлов (MFT)
Вы слышали фразу «данные — король»? Нет? но наверняка вы слышали, как люди говорят, что данные — это новая нефть. Это имеет смысл, учитывая, что люди зарабатывают миллиарды на продаже данных.
Далее
Исправлено: ограниченное подключение Windows 10
Центр обновления Window — важная часть любой операционной системы Window. Он предоставляет необходимые исправления и обновления, чтобы улучшить вашу работу и помочь вашей операционной системе быть бол.
Источник: ru.smartcity-telefonica.com