Xay правильный. Проблема была в том, что вашим первым элементом был NoneType. NoneType.text выбросил эту ошибку. Другой способ, которым вы предложили Xay:
import requests
from bs4 import BeautifulSoup
source = requests.get("https://www.k-ruoka.fi/kauppa/tuotehaku").text
soup = BeautifulSoup(source, "lxml")
product = soup.find("ul", class_="product-grid")
kgs = [listt.find("span", class_="reference").text for listt in product.find_all("li")
if listt.find("span", class_="reference")]
for kg in kgs:
print(kg)
Итак, что я сделал, чтобы получить килограммы, так это запросить текст, только если listt.find ("span", class _ = "reference") что-то поймал. Ни один не является ложным, поэтому он не будет собран.