парсинг html // sed ?

есть строчка вида
<p class="header-path"><a href="./index.php" accesskey="h">Список разделов</a>  <strong>&#8250;</strong> <a href="./viewforum.php?f=32">Общие разделы</a> <strong>&#8250;</strong> <a href="./viewforum.php?f=21">Оффтопик</a></p>

подскажите как из этого лучше всего получить "Список разделов/Общие разделы/Оффтопик"
при этом количество может быть больше меньше трёх

с sed я совсем моск сломал :/
может есть что-то заточенное под такого рода задачи?
решение в загашнике есть... однако парсить html в bash не лучший вариант, никаких гарантий.
 grep -o '<a[^<]*</a>' | sed 's/<[^>]*>//g' 
Ошибки в тексте-неповторимый стиль автора©
https://www.crummy.com/software/BeautifulSoup/bs4/doc/

По-хорошему пункты надо извлекать отдельно и потом из них собирать фразу, но можно и как-то так проблему решить:
>>> from bs4 import BeautifulSoup
>>> html = '''<p class="header-path"><a href="./index.php" accesskey="h">Список разделов</a>  <strong>&#8250;</strong> <a href="./viewforum.php?f=32">Общие разделы</a> <strong>&#8250;</strong> <a href="./viewforum.php?f=21">Оффтопик</a></p>'''
>>> soup = BeautifulSoup(html, 'html.parser')
>>> print(soup.get_text().replace(u'›', u'/'))
Список разделов / Общие разделы / Оффтопик
>>>
благодарю

а может есть что-то готовое для разборки phpbb3 ? ))
lampslave
print(soup.get_text().replace(u'›', u'/'))
Может лучше
[a.get_text() for a in soup.find_all('a')]
xxeddus, можно и нужно, я не зря приписал, что пункты надо извлекать отдельно :) Просто лень было ковыряться.
grayich
а может есть что-то готовое для разборки phpbb3 ? ))
Эээ, а зачем там html-то парсить? О_о
lampslave, в моём случае нужно получить структуру форума, а именно полный путь к теме, время сообщения, ник писавшего
к базе ясное дело доступа нету
grayich, а, ну это ладно тогда, а то я уж подумал, что какой-то костыль для кастомизации собственного форума замутить понадобилось :)
lampslave
костыль для кастомизации собственного форума замутить
хе, не, у меня не настолько забористая дурь)
 
Зарегистрироваться или войдите чтобы оставить сообщение.