Mit
soup.find_all('div.ticker-story-wrapper')
suchst du nach einem <div>-Element, das die Klasse ticker-story-wrapper als Teil des Tagsnamens hat. In der Realität ist dies jedoch kein gültiger HTML-Tag. Klassen werden normalerweise als separates Attribut innerhalb des Tags angegeben. Mit
soup.find_all('div', {'class': 'ticker-story-wrapper'})
suchst du nach <div>-Elementen, die die Klasse ticker-story-wrapper haben. Hier verwendest du das class-Attribut, um die gewünschte Klasse anzugeben, und BeautifulSoup sucht nach allen <div>-Elementen, die diese Klasse haben.
Kurz gesagt, die Syntax soup.find_all('Tagname', {'Attribut': 'Wert'}) ermöglicht es dir, nach Elementen mit bestimmten Attributwerten zu suchen, anstatt den Attributwert in den Tag selbst einzubetten. Dies ist die gängige Praxis bei der Verwendung von BeautifulSoup, um gezielt nach Elementen mit bestimmten Attributen zu suchen.
import requests
from bs4 import BeautifulSoup
response = requests.get('https://www.orf.at')
soup = BeautifulSoup(response.text, 'html.parser')
g = soup.find_all('div', {'class': 'ticker-story-wrapper'})
for result in g:
print(result.find("h3").text)
print("------------------")