Я не думаю, что вы можете передавать составные имена классов таким образом.Я использую Это составные имена классов.Я использовал селекторы CSS в качестве более быстрого метода поиска.Соединения заполнены ".".
Если вы после заголовков, вы можете использовать немного другую комбинацию селекторов
import requests
from bs4 import BeautifulSoup
url= 'https://www.dawn.com/pakistan'
res = requests.get(url)
soup = BeautifulSoup(res.content, "lxml")
items = [item.text.strip() for item in soup.select('h2[data-layout=story] a')]
print(items)
Чтобы ограничиться только теми слева, вы можете использовать:
items = [item.text.strip() for item in soup.select('.story__title.size-five.text-black.font--playfair-display a' )]
В более широком смысле,
items = [item.text.strip() for item in soup.select('article [data-layout=story]')]
Согласно вашему комментарию:
items = [item.text.strip() for item in soup.select('.col-sm-6.col-12')]