Форум сайта python.su
Есть 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)
Офлайн
тут получается два уровня вложения, можно через объединение 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)
Отредактировано vic57 (Авг. 7, 2017 07:23:37)
Офлайн