Как вывести все HTML теги используя beautifulsoup?

Для парсинга сайтов я использую библиотеку BeautifulSoup и мне нужно вывести все теги li, но выводиться только один(у этого тега нет класса). Как это сделать?

Вот код:

page = requests.get(url)
print(page.status_code)

soup = BeautifulSoup(page.text, "html.parser")

result = soup.find("div", class_='casualties')
print(result.div.ul.li.string)

Ответы (2 шт):

Автор решения: Роман
result = soup.find_all("div", class_='casualties')
print(result.div.ul.li.string)
→ Ссылка
Автор решения: zomaman

Этот наглядный пример выводит все теги li. Метод find, который вы использовали, - возвращает первый найденный тег. Метод find_all возвращает список всех найденных тегов, который потом можно перебрать циклом.

import requests
from bs4 import BeautifulSoup

headers = {
    'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) '\ 
                  'AppleWebKit/537.36 (KHTML, like Gecko) '\
                  'Chrome/100.0.4896.127 Safari/537.36'
}


def parse_all_li(url):
    response = requests.get(url)  # headers можно передать сюда как параметр
    # Помогает, если сайт подозревает что запрос сделал бот.
    soup = BeautifulSoup(response.content, 'lxml')

    for li in soup.find_all('li'):
        print(li)


if __name__ == '__main__':
    parse_all_li('http://htmlbook.ru/faq/kak-sozdat-tablitsu-v-html5-i-ukazat-ee-parametry-cherez')
→ Ссылка