Допустим, я извлекаю некоторые классы из некоторого HTML:
p_standards = soup.find_all("p",attrs={'class':re.compile(r"Standard|P3")})
for p_standard in p_standards:
print(p_standard)
И вывод выглядит так:
<p class="P3">a</p>
<p class="Standard">b</p>
<p class="P3">c</p>
<p class="Standard">d</p>
И, скажем, я хотел напечатать только текст внутриP3 classes
так, чтобы вывод был похож на:
a
c
Я думал, что этот код ниже будет работать, но это не так. Как я могу сравнить class
имя тега контейнера с некоторым значением?
p_standards = soup.find_all("p",attrs={'class':re.compile(r"Standard|P3")})
for p_standard in p_standards:
if p_standard.get("class") == "P3":
print(p_standard.get_text())
Я знаю, что в моей первой строке я мог бы просто сделать r"P3"
вместо r"Standard|P3"
,но это только небольшая часть реального кода (не полная история), и мне нужно оставить эту первую строку как есть.
Примечание: выполнение чего-то вроде .find("p", class_ = "P3")
работает только для потомков, но не для тега контейнера.