Ошибка ResultSet object has no attribute 'find'
from bs4 import BeautifulSoup
import requests
url="https://edc.sale/ru/ru/search/?lt=list&q=%D0%B4%D0%B6%D0%B8%D0%BD%D1%81%D1%8B"
page=requests.get(url)
soup=BeautifulSoup(page.text,"html.parser")
block=[]
logo=[]
block=soup.find_all('div',{'class':'it-list-item-in'}).find('a').text
как исправить ошибку
ERROR:asyncio:Task exception was never retrieved
future: <Task finished name='Task-12' coro=<Dispatcher._process_polling_updates() done, defined at C:\Users\User\kurs\venveqwe\lib\site-packages\aiogram\dispatcher\dispatcher.py:407> exception=AttributeError("ResultSet object has no attribute 'find'. You're probably treating a list of elements like a single element. Did you call find_all() when you meant to call find()?")>
Traceback (most recent call last):
File "C:\Users\User\kurs\venveqwe\lib\site-packages\aiogram\dispatcher\dispatcher.py", line 415, in _process_polling_updates
for responses in itertools.chain.from_iterable(await self.process_updates(updates, fast)):
File "C:\Users\User\kurs\venveqwe\lib\site-packages\aiogram\dispatcher\dispatcher.py", line 235, in process_updates
return await asyncio.gather(*tasks)
File "C:\Users\User\kurs\venveqwe\lib\site-packages\aiogram\dispatcher\handler.py", line 117, in notify
response = await handler_obj.handler(*args, **partial_data)
File "C:\Users\User\kurs\venveqwe\lib\site-packages\aiogram\dispatcher\dispatcher.py", line 256, in process_update
return await self.message_handlers.notify(update.message)
File "C:\Users\User\kurs\venveqwe\lib\site-packages\aiogram\dispatcher\handler.py", line 117, in notify
response = await handler_obj.handler(*args, **partial_data)
File "C:\Users\User\kurs\kurs.py", line 28, in echo
a=block.find('a')
File "C:\Users\User\kurs\venveqwe\lib\site-packages\bs4\element.py", line 2289, in __getattr__
raise AttributeError(
AttributeError: ResultSet object has no attribute 'find'. You're probably treating a list of elements like a single element. Did you call find_all() when you meant to call find()?
Ответы (1 шт):
Автор решения: Точка Слэш
→ Ссылка
Метод find_all возвращает список найденных тегов, а не объект класса BeautifulSoap. По этому к нему нельзя применить метод find. Кстати при создании soap лучше использовать не page.text, а page.content т. к. в первом случае возвращается исходный код страницы не подгружаемый скриптами.