по туториалу с ютуба решил попробовать спарсить видео на ютуб, код:
import asyncio
import aiohttp
from bs4 import BeautifulSoup as BS
from fake_useragent import UserAgent
vname = input("Enter video name: ")
url = f"https://www.youtube.com/results?search_query={vname}"
headers = {"User-Agent": UserAgent().random}
async def parse():
async with aiohttp.ClientSession() as session:
async with session.get(url, headers=headers) as response:
r = await aiohttp.StreamReader.read(response.content)
soup = BS(r, "html.parser")
items = soup.find_all("div", {"class": "style-scope ytd-item-section-renderer"})
for item in items:
title = item.find("ytd-video-renderer", {"class": "style-scope ytd-item-section-renderer"})
print(title)
loop = asyncio.get_event_loop()
try:
print("Script has started!")
loop.run_until_complete(parse())
except Exception as e:
print(e)
finally:
print("Script has finished!")
При запуске, а также при вводе названия видео, aiohttp ничего не отвечает, и программа завершается без ошибок:
$ python main.py
Enter video name: биология 9 класс
Script has started!
Script has finished!
как исправить это?