Xpath包含“或”,如何处理?

2024-09-29 20:21:23 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在用Scrapy抓取一个网站,希望在一个表中删除包含'or'的项目

xpath = '//table/tbody/tr/td[contains(.,\"\'") or contains (.,\"\"\")]/text()'

但是,这会导致:

^{pr2}$

还有别的办法吗?(我试过用unicodes来表示“和”,但不起作用。我也尝试过变量,但没有用)

谢谢


Tags: or项目text网站tablexpathtrtd
1条回答
网友
1楼 · 发布于 2024-09-29 20:21:23

搜索'时,使用"作为XPath字符串文本分隔符,以避免冲突;在搜索"时,请使用另一种方法:

//table/tbody/tr/td[contains(.,"'") or contains (.,'"')]/text()

现在,python还使用一种字符串分隔符,例如,使用",并且需要避免与XPath(上面的XPath)中的"冲突。因此,您需要使用\"对XPath中的每个"进行转义:

^{pr2}$

或者,如果这很糟糕,您可以使用XPath variable来指定单引号和双引号,而不必转义:

^{3}$

相关问题 更多 >

    热门问题