本文整理汇总了Python中lxml.etree.ElementTree.getparent方法的典型用法代码示例。如果您正苦于以下问题:Python ElementTree.getparent方法的具体用法?Python ElementTree.getparent怎么用?Python ElementTree.getparent使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类lxml.etree.ElementTree
的用法示例。
在下文中一共展示了ElementTree.getparent方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: parse_find_desc
# 需要导入模块: from lxml.etree import ElementTree [as 别名]
# 或者: from lxml.etree.ElementTree import getparent [as 别名]
def parse_find_desc(div: ET.ElementTree) -> str:
parent_div = div.getparent()
parent_html = ET.tostring(parent_div, pretty_print="True")
common.trace(8, 'parent ', parent_html)
try:
audio_episode_body = XmlHandler.find_element_attribute(parent_div, 'div', 'class', "audio-episode-body")
p = XmlHandler.find_element_attribute(audio_episode_body, 'p', 'class', "*preamble")
if p:
return p.text_content().strip()
except AttributeError:
pass
try:
audio_audiobox_body = XmlHandler.find_element_attribute(parent_div, 'div', 'class', "audio-box-body")
p = XmlHandler.find_element_attribute(audio_audiobox_body, 'p', 'class', "preamble")
return p.text_content().strip()
except AttributeError:
pass
try:
episode_body = XmlHandler.find_element_attribute(div, 'div', 'class', "episode*-body")
episode__content = XmlHandler.find_element_attribute(episode_body, 'div', 'class', "*episode__content")
episode__body = XmlHandler.find_element_attribute(episode__content, 'div', 'class', "*episode__body")
if episode__body is not None:
p = XmlHandler.find_first_child(episode__body, 'p')
el = p if p is not None else episode__body
return el.text_content().strip()
except AttributeError:
pass
try:
ep_desc = XmlHandler.find_element_attribute(parent_div, 'div', 'class', "episode-list*item*description*" )
desc = ep_desc.text_content().strip()
if len(desc) > 0:
return desc
p = XmlHandler.find_element_attribute(audio_audiobox_body, 'p', 'class', "text*")
return p.text_content().strip()
except AttributeError:
pass
try:
ep_desc = XmlHandler.find_element_attribute(parent_div, 'div', 'class', 'latest-episode__preamble ltr' )
desc = ep_desc.text_content().strip()
if len(desc) > 0:
return desc
p = XmlHandler.find_element_attribute(audio_audiobox_body, 'p', 'class', "text*")
return p.text_content().strip()
except AttributeError:
pass
if parent_div.tag == 'div' and parent_div.attrib['class'] == "episode-list-item__content":
return parse_find_desc(parent_div.getparent())
return None