采用以下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,但他们都没有解决问题。