Когда я запускаю эту функцию BeautifulSoup в цикле, чтобы найти заголовки тегов, я могу напечатать индексы из списка, который он возвращает.Когда я увидел это, я был сбит с толку, потому что думал, что вы не можете поместить строки в индексы любого типа.
geturl =
requests.get("https://www.techbargains.com/category/359/laptops").text
soup = bs(geturl, "html.parser")
for t in soup.find_all("a", class_ = "details"):
print t["title"]
Этот код работает нормально, вот код, который я написал, чтобы попытаться понять, как это работает.
def listo():
lister = ["hello", "how are you"]
return lister
for a in listo():
print a["hello"]
Когда я пытаюсь запустить его, я получаю эту ошибку:
print a["hello"]
TypeError: string indices must be integers, not str
В чем разница между ними?Почему функция Beautiful Soups может получить доступ к этим данным, а моя нет.