Я новичок в python и использую 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 desktop (i386)', написав:
d['name'] = line.find('div', {'class':'torrentname'}).find('a').string
, но из-за сильных тегов html он возвращаетНикто.Есть ли способ извлечь сильные теги, а затем использовать .string или есть лучший способ?Я пытался использовать функцию extract () BeautifulSoup, но не смог заставить ее работать.
Редактировать: я только что понял, что мое решение не работает, если между двумя словами есть два набора сильных тегов в качестве пробела.опущены.Как можно решить эту проблему?