Python Noob здесь,
Этот код печатает и открывает в youtube все URL.
Я просто хочу, чтобы он открывал самый первый найденный URL вместо всехих.
import urllib.request
from bs4 import BeautifulSoup
import webbrowser
textToSearch = 'Hello World'
query = urllib.parse.quote(textToSearch)
url = "https://www.youtube.com/results?search_query=" + query
response = urllib.request.urlopen(url)
html = response.read()
soup = BeautifulSoup(html, 'html.parser')
for vid in soup.findAll(attrs={'class':'yt-uix-tile-link'}):
print('https://www.youtube.com' + vid['href'])
url = ('https://www.youtube.com/' + vid['href'])
webbrowser.open(url)
print('Done!')
Я думал о том, чтобы изменить линию
soup.findAll
на
soup.find
, но она не работает:
TypeError: string indices must be integers
И я понятия не имею, что делать, это должно быть что-то простое, и у меня не так много знаний, поэтому, если вы можете мне помочь, я бы очень признателен