У меня возникли проблемы с формулировкой запроса findAll
для BeautifulSoup, который будет делать то, что я хочу.Раньше я использовал findAll
для извлечения только текста из некоторого html, по существу убирая все теги.Например, если бы у меня было:
<b>Cows</b> are being abducted by aliens according to the
<a href="www.washingtonpost.com>Washington Post</a>.
Это было бы уменьшено до:
Cows are being abducted by aliens according to the Washington Post.
Я бы сделал это с помощью ''.join(html.findAll(text=True))
.Это работало замечательно, пока я не решил, что хотел бы оставить только теги <a>
, но убрать остальные теги.Итак, учитывая исходный пример, я бы закончил с этим:
Cows are being abducted by aliens according to the
<a href="www.washingtonpost.com>Washington Post</a>.
Сначала я думал, что сработает следующее:
''.join(html.findAll({'a':True}, text=True))
Однако это не работает, поскольку text=True
, кажется, указывает, что он найдет только текст.Что мне нужно, так это какой-либо вариант ИЛИ - я бы хотел найти текстовые теги ИЛИ <a>
.Важно, чтобы теги оставались вокруг текста, который они помечают, - я не могу, чтобы теги или текст появлялись не по порядку.
Есть мысли?