У меня есть блок span, подобный этому:
<span class="selectable-text invisible-space copyable-text" dir="ltr">
some text
<img alt="" class="b61 emoji wa selectable-text invisible-space copyable-text" data-plain-text="" src="URL" style="background-position: -20px -20px;"/>
more some text
<img alt="" class="b62 emoji wa selectable-text invisible-space copyable-text" data-plain-text="" src="URL" style="background-position: -40px -40px;"/>
blah-blah-blah
<img alt="" class="b76 emoji wa selectable-text invisible-space copyable-text" data-plain-text="" src="URL" style="background-position: 0px -20px;"/>
</span>
soup.find('span', {'class': 'selectable-text invisible-space copyable-text'}).get_text()
Этот код дает мне только текст.
Все, что я думал о
span = soup.select('span', {'class': 'selectable-text invisible-space copyable-text'})
for item in span:
if re.match('.*emoji', str(item)):
...
Теперь у меня есть такая строка:
<span class="selectable-text invisible-space copyable-text" dir="ltr">some text <img alt="?" class="b61 emoji wa selectable-text invisible-space copyable-text" data-plain-text="?" src="URL" style="background-position: -20px -20px;"/>more some text<img alt="?" class="b62 emoji wa selectable-text invisible-space copyable-text" data-plain-text="?" src="URL" style="background-position: -40px -40px;"/> blah-blah-blah <img alt="?" class="b76 emoji wa selectable-text invisible-space copyable-text" data-plain-text="?" src="URL" style="background-position: 0px -20px;"/></span>
Мне кажется, что следующим шагом будет использование регулярных выражений для получения нужных мне элементов.
Есть ли еще какие-нибудьспособ получить строку вроде:
some text <emoji> more some text <emoji> blah-blah-blah <emoji>