Я новичок в python, и я использую BeautifulSoup для анализа веб-сайта, а затем для извлечения данных. У меня есть следующий код:Удаление тегов из HTML с использованием BeautifulSoup
for line in raw_data: #raw_data is the parsed html separated into smaller blocks
d = {}
d['name'] = line.find('div', {'class':'torrentname'}).find('a')
print d['name']
<a href="/ubuntu-9-10-desktop-i386-t3144211.html">
<strong class="red">Ubuntu</strong> 9.10 desktop (i386)</a>
Обычно я был бы в состоянии экстракт «Ubuntu 9,10 рабочего стола (i386)», написав:
d['name'] = line.find('div', {'class':'torrentname'}).find('a').string
, но из-за сильных HTML-теги не возвращает None. Есть ли способ извлечь сильные теги, а затем использовать .string или есть лучший способ? Я попытался использовать функцию extractSys(), но я не мог заставить его работать.
Редактировать: Я только понял, что мое решение не работает, если есть два набора сильных тегов, поскольку пространство между словами не учитывается. Каким образом можно было бы решить эту проблему?
связаны: http://stackoverflow.com/questions/598817/python-html-removal/599080 # 599080 – jfs