如何在不使用正则表达式的情况下从没有匹配的html中删除结束标记?

时间:2018-05-25 21:05:30

标签: python html lxml

采用以下HTML代码:

<li class='item'>

    <ul class="lvprices left space-zero" _sp="p2045573.m1686.l8">


        <li class="lvshipping">
        <span class="ship">
            <span>
                <span class="bfsp">Free Shipping</span>
            </span>
        </span>
        </li>
        </li>

    </ul>
    <ul class="">
        <li class="timeleft">
        <span class="tme">
            <span>May-25 01:57</span>
        </span>
        </li>

    </ul>
</li>

在第一个ul元素结束之前,有两个背靠背</li>标记。其中一个没有匹配并且在使用lxml XPath时导致问题,其中选择列表项class="item"仅返回第一个</ul>并且好像整个第二个</ul>没有存在于列表项内部。

有没有办法(不使用正则表达式)删除第二个</li>,以便lxml可以正确解析它?我尝试使用BeautifulSoup和html.parser,但他们都没有解决问题。

0 个答案:

没有答案