列
<div id="desktop-1"> </div> # 需要匹配的div
<div id="desktop-btf-grid-1"> </div>
<div id="desktop-btf-grid-2"> </div>
<div id="desktop-2"> </div> # 需要匹配的div
<div id="desktop-btf-grid-3"> </div>
<div id="desktop-3"> </div> # 需要匹配的div
<div id="desktop-btf-grid-4"> </div>
<div id="desktop-4"> </div> # 需要匹配的div
需要获取div中id为desktop-数字的对象
一开始可能会想到用//*[contains(@id,'desktop-')],发现结果会把esktop-btf-grid-的数据也匹配到,这里我们就需要在xpath中使用正则
response.xpath(r'//*[re:match(@id, "desktop-\d")]',namespaces={"re": "http://exslt.org/regular-expressions"}).extract()
XPath精确匹配技巧
本文介绍如何在XPath查询中使用正则表达式进行精确匹配,避免误匹配类似ID的情况。通过实例展示,当需要从HTML中精确选取特定ID的div元素时,如何排除相似ID的干扰。
1299

被折叠的 条评论
为什么被折叠?



