парсинг текста из html через python

351
21 октября 2017, 16:59
<a class="drug__link drug__link--article" href="//www.rlsnet.ru/fg_index_id_642.htm">Средства для лечения <span class="sokr" title="вирус иммунодефицита человека">ВИЧ</span>-инфекции в комбинациях</a>

Требуется достать весь текст, чтобы получить

Средства для лечения ВИЧ-инфекции в комбинациях

уже всю голову сломал, по отдельности могу достать, а чтоб цельная фраза получилась не выходит. Нужно решение для текстов с большим количеством <span> тегов.

Answer 1
from bs4 import BeautifulSoup as bs
s = '<a class="drug__link drug__link--article" href="//www.rlsnet.ru/fg_index_id_642.htm">Средства для лечения <span class="sokr" title="вирус иммунодефицита человека">ВИЧ</span>-инфекции в комбинациях</a>'
soup = bs(s, "lxml")
out_string = ''.join([x.text for x in soup.findAll('a')])
print(out_string)
#### Средства для лечения ВИЧ-инфекции в комбинациях
Answer 2

регулярка все же тащит, не знаю почему сразу не догадался

sometext = u'<a class="drug__link drug__link--article" href="//www.rlsnet.ru/fg_index_id_642.htm">\u0421\u0440\u0435\u0434\u0441\u0442\u0432\u0430 \u0434\u043b\u044f \u043b\u0435\u0447\u0435\u043d\u0438\u044f <span class="sokr" title="\u0432\u0438\u0440\u0443\u0441 \u0438\u043c\u043c\u0443\u043d\u043e\u0434\u0435\u0444\u0438\u0446\u0438\u0442\u0430 \u0447\u0435\u043b\u043e\u0432\u0435\u043a\u0430">\u0412\u0418\u0427</span>-\u0438\u043d\u0444\u0435\u043a\u0446\u0438\u0438 \u0432 \u043a\u043e\u043c\u0431\u0438\u043d\u0430\u0446\u0438\u044f\u0445</a>' 
p = re.compile(r'<.*?>') 
print p.sub('', sometext)

READ ALSO
JS цикл c PHP переменными

JS цикл c PHP переменными

ЗдравствуйтеЗаранее спасибо за помощь

232
Как вывести массив

Как вывести массив

Скрипт,собирающий статистику о посещениях сайтаНужно вывести город и страну

259
Проблема со шрифтами на сайте

Проблема со шрифтами на сайте

Я использовал два шрифта похожих на друг друга, Bebas Neune & League Gothic, но почему-то в браузере они выглядят очень коряво и угловато? Почему так...

340