Есть ссылки вида:
<a chapter="1" href="/url1/">1</a> <a chapter="2" href="/url2/">2</a> <a chapter="3" href="/url3/">3</a> <a name="n1" href="/url1/">1</a> <a name="n2" href="/url2/">2</a>
Как можно получить href’ы только ссылок с атрибутом «chapter»?
Анонимный пользователь Изменен статус публикации
Альтернативный и немного более лаконичный способ — использовать CSS селекторы — на данный момент BeautifulSoup
поддерживает ограниченный набор селекторов — но для большинства повседневных задач хватает:
for a in soup.select('a[chapter]'): print(a) # или print(a.get_text()) чтобы распечатать тексты ссылок
from bs4 import BeautifulSoup r = ''' <a chapter="1" href="/url1/">1</a> <a chapter="2" href="/url2/">2</a> <a chapter="3" href="/url3/">3</a> <a name="n1" href="/url1/">1</a> <a name="n2" href="/url2/">2</a>''' soup = BeautifulSoup(r, 'html.parser') for a in soup.find_all('a', chapter=True): print(a)