Найти - Пользователи
Полная версия: Чистка атрибутов
Начало » Python для новичков » Чистка атрибутов
1
tuz
Добры день.
Есть такая строка:
<a href="http://site.com/images/.../image.jpg"><img alt="изображение" class="aligncenter size-full wp-image-6026" height="346" src="http://site.com/images/.../image.jpg" width="530" /></a>
Необходимо убрать тег <a> и атрибуты классов. Тоесть привести к такому виду:
<img alt="изображение" src="http://site.com/images/.../image.jpg" width="530" />
Как это реализовать правильно?
Заранее всем спасибо!
alexsis
import re
p = re.compile('<img.*/>')
string = p.findall(string)

p.s. http://docs.python.org/2/library/re.html
tuz
alexsis
import re p = re.compile('<img.*/>') string = p.findall(string)
Не совсем то. Задача состоит не в получении нужных атрибутов и т.п. В этом ничего сложного нет, а именно в замене: убирании тега <a> и удаление class=…
Rodegast
Самое первое что пришло в голову:
1) Через регулярку находишь подстроку.
2) через find находишь её начало
3) через len находишь её длину
4) через срез удаляешь фрагмент строки
tuz
Rodegast
Самое первое что пришло в голову:1) Через регулярку находишь подстроку.2) через find находишь её начало3) через len находишь её длину4) через срез удаляешь фрагмент строки
Спасибо. Вроде все элементарно, но вот мой мозг что-то сегодня не работает. )))
dimy44
навскидку вот
import re
pattern = re.compile(r'(<a[^>]+>)|(</a>)|(class="[^"]+")')
print pattern.sub('', text)
py.user.next
>>> import lxml.html
>>> 
>>> s = """<a href="http://site.com/images/.../image.jpg"><img alt="изображение" class="aligncenter size-full wp-image-6026" height="346" src="http://site.com/images/.../image.jpg" width="530" /></a>"""
>>> 
>>> tag = lxml.html.fragment_fromstring(s).find('img')
>>> del tag.attrib['class']
>>> out = lxml.html.tostring(tag, encoding=str)
>>> out
'<img alt="изображение" height="346" src="http://site.com/images/.../image.jpg" width="530">'
>>>
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB