当前位置: 首页>>代码示例>>Python>>正文


Python ElementTree.getparent方法代码示例

本文整理汇总了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
开发者ID:leiflundgren,项目名称:sr-fetch,代码行数:58,代码来源:sr_prog_page.py


注:本文中的lxml.etree.ElementTree.getparent方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。