удалить лишние атрибуты тега img при парсинге

robisho

Активный пользователь
Пользователь
Окт 19, 2020
151
26
28
Добрый день. При парсинге python+BS4 получаю тег картинки в виде

HTML:
<img alt="" class="attachment-yarpp-thumbnail size-yarpp-thumbnail wp-post-image" data-lazy-sizes="(max-width: 120px) 100vw, 120px" data-lazy-src="https://semerkavaz.ru/wp-content/uploads/2016/05/zamena-masla-reduktora-zadnego-mosta-2.1600x0-120x120.jpg" data-lazy-srcset="https://semerkavaz.ru/wp-content/uploads/2016/05/zamena-masla-reduktora-zadnego-mosta-2.1600x0-120x120.jpg 120w, https://semerkavaz.ru/wp-content/uploads/2016/05/zamena-masla-reduktora-zadnego-mosta-2.1600x0-150x150.jpg 150w, https://semerkavaz.ru/wp-content/uploads/2016/05/zamena-masla-reduktora-zadnego-mosta-2.1600x0-300x300.jpg 300w, https://semerkavaz.ru/wp-content/uploads/2016/05/zamena-masla-reduktora-zadnego-mosta-2.1600x0-1024x1024.jpg 1024w" data-pin-nopin="true" height="120" loading="lazy" src="data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%20120%20120'%3E%3C/svg%3E" width="120"/>

Мне нужно оставить из всей этой красоты только <img src='тут_ссылка_на_картинку' />. Как это можно сделать? Спасибо.
 
Последнее редактирование:

Vershitel_sudeb

Vershitel sudeb
Команда форума
Модератор
Мар 17, 2021
915
201
43
20
Москва
Python:
link = obj.get('data-lazy-src') # Получаем ссылку на картинку
code = f'<img src="{link}" /> ' # Собираем строку в том виде, который вам нужен
Вроде так

obj - ваш тег (не в виде текста, а в виде объекта BeautifulSoup)
 
  • Мне нравится
Реакции: robisho

stud_55

Модератор
Команда форума
Модератор
Апр 3, 2020
1 522
672
113
это для новых статей, а как можно заменить в уже готовых статьях? может кто поможет регуляркой?
Вот пример с регуляркой:
Python:
import re


s = '''<img alt="" class="attachment-yarpp-thumbnail size-yarpp-thumbnail wp-post-image" data-lazy-sizes="(max-width: 120px) 100vw, 120px" data-lazy-src="https://semerkavaz.ru/wp-content/uploads/2016/05/zamena-masla-reduktora-zadnego-mosta-2.1600x0-120x120.jpg" data-lazy-srcset="https://semerkavaz.ru/wp-content/uploads/2016/05/zamena-masla-reduktora-zadnego-mosta-2.1600x0-120x120.jpg 120w, https://semerkavaz.ru/wp-content/uploads/2016/05/zamena-masla-reduktora-zadnego-mosta-2.1600x0-150x150.jpg 150w, https://semerkavaz.ru/wp-content/uploads/2016/05/zamena-masla-reduktora-zadnego-mosta-2.1600x0-300x300.jpg 300w, https://semerkavaz.ru/wp-content/uploads/2016/05/zamena-masla-reduktora-zadnego-mosta-2.1600x0-1024x1024.jpg 1024w" data-pin-nopin="true" height="120" loading="lazy" src="data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%20120%20120'%3E%3C/svg%3E" width="120"/>'''
link = re.search('(?<=data-lazy-src=\")\S+(?=\")', s)[0]
tag = f"<img src='{link}' />"
print(tag)
 
  • Мне нравится
Реакции: Vershitel_sudeb и robisho

robisho

Активный пользователь
Пользователь
Окт 19, 2020
151
26
28
это для новых статей, а как можно заменить в уже готовых статьях? может кто поможет регуляркой?
 

Форум IT Специалистов