@JL0LK0BH1K

Почему не работает find_all при парсинге сайта?

def parse():
        url = 'https://www.olx.ua/list/q-'+message.text+'/'
        response = requests.get(url)
        soup = BeautifulSoup(response.text, 'lxml')

        oholoshennja = soup.find_all('div', class_='offer-wrapper')

        data = []

        for posts in oholoshennja:
            post = oholoshennja.find('td', class_='title-cell').find('h3',class_='lheight22').find('a',class_='marginright5').find('strong')
            post_url = oholoshennja.find('td', class_='title-cell').find('h3',class_='lheight22').find('a',class_='marginright5').get('href')
            located = oholoshennja.find('td', class_='bottom-cell').find('div', class_='space').find('p', class_='lheight16').find_all('small', class_='breadcrumb').find_all('span')
            price = oholoshennja.find('p', class_='price').find('strong')


            data.append([post.text, price.text, located.text, post_url])


Ошибка: 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()?
Если использовать find(), все корректно работает но для одного элемента.
  • Вопрос задан
  • 131 просмотр
Решения вопроса 1
Vindicar
@Vindicar
RTFM!
for posts in oholoshennja:
            post = oholoshennja.find(.........

Ну правильно же говорит - зачем делать цикл, если ты posts не используешь, а используешь полученную коллекцию? Может, всё-таки post = posts.find()?
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы
29 мар. 2024, в 17:04
5000 руб./за проект
29 мар. 2024, в 17:03
3000 руб./за проект
29 мар. 2024, в 16:58
3000 руб./за проект