D
D
Dmitry Prilepsky2020-11-08 22:43:17
PHP
Dmitry Prilepsky, 2020-11-08 22:43:17

How to parse text from a class in which text is nested and other classes with text?

I have the following HTML code

<div class='user-data__about'>
<strong>UI/UX and Product Designer<br><br></strong><strong>Портфолио<br></strong>alexandr</a> &gt; <a works</a><br>Экспертная область — дизайн мобильных приложений и web-интерфейсов.<br>Рисую дизайн для сайтов, мобильных и web-приложений. <br>Работаю с компаниями, студиями, стартапами.<br><br>Мне нравиться создавать поистине крутой продуктовый дизайн для своих клиентов. Погружаться в бизнес логику продукта и улучшать его качество. При этом развиваться как профессионал и оттачивать мастерство в любимом деле.<br><br><br><strong>Ссылки</strong><br><br><br><strong>Контакты</strong><br><strong><br>Услуги</strong><br><ul><li>UI/UX дизайн мобильных приложений и web-интерфейсов.</li><li>Адаптивный дизайн сложных CRM, SaaS(дашборды аналитики, таблицы)</li><li>Отрисовка иллюстраций.</li><li>Анимация интерфейсов.</li><li>Сотрудничество под NDA.</li></ul><br><strong>Инструменты</strong><br><ul><li>Figma</li><li>Sketch</li><li>After Effects</li></ul><strong><br>Примеры лучших работ<br></strong><br>Дизайн сайтов<br><br>Дизайн мобильных приложений<br>

I need to parse the text from here, but there is a problem: a tag that contains the text I need also contains tags that also contain the text I need. When taking text from this class, bs4 eats spaces. And this is the main problem. My code
about_object = text.find('div', {'class': 'user-data__about'})

        about = about_object.text
        about = ' '.join(re.findall(r'[А-Я]?[^А-Я]*', about))

It produces the following text:
UI/UX and Product DesignerPortfolioalexandr > Expert area — design of mobile applications and web-interfaces. I draw designs for websites, mobile and web applications. I work with companies, studios, startups. I love creating really cool product designs for my clients. Dive into the business logic of the product and improve its quality. At the same time, develop as a professional and hone your skills in your favorite business. Learn more about me →LinksPortfolio siteBehanceDribbbleLinkedinFacebookContactsTelegramMailSkypeServicesUI/UX design of mobile applications and web interfaces.Responsive design of complex CRM, SaaS (analytics dashboards, tables)Rendering of illustrations.Animation of interfaces.Cooperation under NDA.

How to make sure that the words do not stick together there?

Answer the question

In order to leave comments, you need to log in

3 answer(s)
K
Karmashkin, 2016-07-09
@Karmashkin

вебсервер запущен под своим пользователем и у него нет прав выполнение комманд и доступа к твоим папкам
в логах можно смотреть ошибки к чему конкретно он не может добраться
а да, и гуглить про sudo :)

A
Antonio Solo, 2020-11-09
@solotony


about_object.text
use instead
about_object.get_text(separator=' ')

V
Vladimir Kuts, 2020-11-08
@fox_12

Straight wedge light converged on BS ...:

import io
from lxml import etree

parser = etree.HTMLParser()

html = '''
<div class='user-data__about'>
<strong>UI/UX and Product Designer<br><br></strong><strong>Портфолио<br></strong>alexandr</a> &gt; <a works</a><br>Экспертная область — дизайн мобильных приложений и web-интерфейсов.<br>Рисую дизайн для сайтов, мобильных и web-приложений. <br>Работаю с компаниями, студиями, стартапами.<br><br>Мне нравиться создавать поистине крутой продуктовый дизайн для своих клиентов. Погружаться в бизнес логику продукта и улучшать его качество. При этом развиваться как профессионал и оттачивать мастерство в любимом деле.<br><br><br><strong>Ссылки</strong><br><br><br><strong>Контакты</strong><br><strong><br>Услуги</strong><br><ul><li>UI/UX дизайн мобильных приложений и web-интерфейсов.</li><li>Адаптивный дизайн сложных CRM, SaaS(дашборды аналитики, таблицы)</li><li>Отрисовка иллюстраций.</li><li>Анимация интерфейсов.</li><li>Сотрудничество под NDA.</li></ul><br><strong>Инструменты</strong><br><ul><li>Figma</li><li>Sketch</li><li>After Effects</li></ul><strong><br>Примеры лучших работ<br></strong><br>Дизайн сайтов<br><br>Дизайн мобильных приложений<br>
</div>
'''

root = etree.parse(io.StringIO(html), parser=parser)
print(' '.join(root.xpath('.//text()')))

UI/UX and Product Designer Portfolio alexandr > Expert area — design of mobile applications and web-interfaces. I draw designs for websites, mobile and web applications. I work with companies, studios, startups. I love creating really cool product designs for my clients. Dive into the business logic of the product and improve its quality. At the same time, develop as a professional and hone your skills in your favorite business. Links Contacts Services UI/UX design of mobile applications and web-interfaces. Responsive design of complex CRM, SaaS (analytics dashboards, tables) Drawing illustrations. Interface animation. Cooperation under NDA. Figma Tools Sketch After Effects Best Work Examples Website Design Mobile App Design

Didn't find what you were looking for?

Ask your question

Ask a Question

731 491 924 answers to any question