Вы можете установить False
для class
и id
, и он получит теги без class
и id
soup.find_all('p', {'class': False, 'id': False})
или (слово class_
имеет _
, потому чтов Python есть ключевое слово class
soup.find_all('p', class_=False, id=False)
from bs4 import BeautifulSoup as BS
text = '<p class="A">text A</p> <p>text B</p> <p id="C">text C</p>'
soup = BS(text, 'html.parser')
# ----
all_items = soup.find_all('p', {'class': False, 'id': False})
for item in all_items:
print(item.text)
# ---
all_items = soup.find_all('p', class_=False, id=False)
for item in all_items:
print(item.text)
РЕДАКТИРОВАТЬ: Если вы хотите теги без каких-либо атрибутов, вы можете фильтровать элементы, используя not item.attrs
for item in all_items:
if not item.attrs:
print(item.text)
from bs4 import BeautifulSoup as BS
text = '<p class="A">text A</p> <p>text B</p> <p id="C">text C</p> <p data="D">text D</p>'
soup = BS(text, 'html.parser')
all_items = soup.find_all('p')
for item in all_items:
if not item.attrs:
print(item.text)