RSS 피드의 일부 HTML 조각을 구문 분석하는 데 lxml을 사용하고 있는데이를 효율적으로 수행하기 위해 create_parent='div'
을 사용합니다. 나중에 HTML을 출력 할 때 내 HTML 레이아웃으로 div가 포함되기 때문에 부모 div가 포함되는 것을 원하지 않습니다. div에서 완전히 unnessecary입니다.Python lxml, HTML을 출력하기 전에 부모 요소를 제거하기 (fragment_fromstring 사용)
코드 지금 같이
from lxml.html import fragment_fromstring
html = fragment_fromstring(html_string, create_parent = 'div')
for tag in html.xpath('//*[@class]'):
tag.attrib.pop('class')
for tag in html.xpath('//*[@id]'):
tag.attrib.pop('id')
return lxml.html.tostring(html)
TL; DR :이 출력 될 때 어떻게 권취 DIV 제거합니까?
아마도 이것은 답입니다. "lxml.etree.tostring (html_doc.xpath ('*'[0])'에서 자식을 넘겨서 wrapping div를 제거하십시오. 경고 : 테스트되지 않은 코드. 15 년 동안 파이썬 lxml 만 사용했습니다. 해당 코드 변경에 대한 테스트를 수행하는 사람은 답안을 작성해야합니다. – Phlip