Найти - Пользователи
Полная версия: Опять регулярные выражения
Начало » Python для новичков » Опять регулярные выражения
1
polin11
Есть HTML разметка, нужно вытащить контент из тега <p>, знаю как сделать 2 регулярными выражениями, можно ли сделать 1, в результате должно быть
 html="<p class='one'><b>111</b></p><p name='two'>222</p><path>333</path><p>444</p><path class='three'>555</path>"
tempTag=[]
tempTag+=re.findall("<p\s.*?>(.*?)</p>", html)
tempTag+=re.findall("<p\s?>(.*?)</p>", html)
print(tempTag)
vic57
тут получается два уровня вложения, можно через объединение xpath
 from lxml import html
htm="<p class='one'><b>111</b></p><p name='two'>222</p><path>333</path><p>444</p><path class='three'>555</path>"
tree = html.fromstring(htm)
tags  = tree.xpath('//p/b | //p')
out = [t.text for t in tags if t.text]
print(out)
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