@vasiliy763
IT engineer

Цикл в парсинге?

Изучаю парсинг, с одной задачей совсем запутался.
Буду благодарен за ответ. Вопрос в том, как написать цикл который бы собирал информация из блока а.
Расположенный в коде следующим образом:
Как написать код так, то бы он смог найти а ?

вот мой код который ничего не находит.

items = soup.find_all("div", class_="catalog-grid__item")
        for catalog in items:
            catalog_title = catalog.find('a', class_="product-snippet__desc")
            print(catalog_title)


-div "catalog-grid__item'
   -artical “product-snippet”
      -div “product-snippet__top”
         -div “product-snippet__right”
            -div “product-snippet__desc”
               -a
               -a
               -a
               -a
               -a
               -...
-div "catalog-grid__item'
   -artical “product-snippet”
      -div “product-snippet__top”
         -div “product-snippet__right”
            -div “product-snippet__desc”
               -a
               -a
               -a
               -a
               -a
               -...
-div "catalog-grid__item'
   -artical “product-snippet”
      -div “product-snippet__top”
         -div “product-snippet__right”
            -div “product-snippet__desc”
               -a
               -a
               -a
               -a
               -a
               -...
-...
  • Вопрос задан
  • 389 просмотров
Пригласить эксперта
Ответы на вопрос 1
В предыдущем ответе Dr. Bacon верно указал на ваши ошибки.
Итого получится что-то наподобие такого:
"""Изначальный вариант, подразумевается что <a> только в структуре, что вы привели"""
items = soup.find_all("a")
for catalog in items:
    catalog_title = catalog.text
    print(catalog_title)
 
"""Если тег <a> еще где-то присутствет на странице"""
items = soup.find_all("div", class_="product-snippet__desc")
for catalog in items:
    a_tags = catalog.find_all("a")
    for a in a_tags:
        catalog_title = a.text
        print(catalog_title)
Ответ написан
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы