gpt4 book ai didi

python - lxml:如何丢弃所有包含特定类链接的
  • 元素?
  • 转载 作者:行者123 更新时间:2023-12-01 06:08:38 25 4
    gpt4 key购买 nike

    与通常的情况一样,我因缺乏适当的 lxml 文档而苦苦挣扎( self 注意:应该编写适当的 lmxl 教程并获得大量流量!)。

    我想找到所有<li> 包含 <a> 的项目具有特定类别的标签。

    例如:

    <ul>
    <li><small>pudding</small>: peaches and <a href="/cream">cream</a></li>
    <li><small>cheese</small>: Epoisses and <a href="/st-marcellin" class="new">St Marcellin</a></li>
    </ul>

    我只想获取 <li>不包含类 new 的链接,我想获取 <small> 内的文字。换句话说,“布丁”。

    有人可以帮忙吗?

    谢谢!

    最佳答案

    import lxml.html as lh

    content='''\
    <ul>
    <li><small>pudding</small>: peaches and <a href="/cream">cream</a></li>
    <li><small>cheese</small>: Epoisses and <a href="/st-marcellin" class="new">St Marcellin</a></li>
    </ul>
    '''

    tree=lh.fromstring(content)
    for elt in tree.xpath('//li[not(descendant::a[@class="new"])]/small/text()'):
    print(elt)

    # pudding

    XPath 具有以下含义:

    //                        # from the root node, look at all descendants
    li[ # select nodes of type <li> who
    not(descendant::a[ # do not have a descendant of type <a>
    @class="new"])] # with a class="new" attribute
    /small # select the node of type <small>
    /text() # return the text of that node

    关于python - lxml:如何丢弃所有包含特定类链接的 <li> 元素?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6878315/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com