使用XPATH返回多个字符串
源网站在这里 因为我不知道所有的术语,所以我会尽量保持中立。我正试图从这个网站收集信息到一个单独的专栏中。 我希望在一列中显示粗体文本,在下一列中显示相关链接,在另一列中显示拼写说明。当一个描述引用另一个拼写时,问题就出现了。他们用斜体字将描述分成多个部分,如C153和C154所示。我认为在粗体文本和换行符之间抓住所有内容会更容易,但我不知道上下文 例如,如果格式错误,请原谅我,我在这里主要是猜测使用XPATH返回多个字符串,xpath,google-sheets,Xpath,Google Sheets,源网站在这里 因为我不知道所有的术语,所以我会尽量保持中立。我正试图从这个网站收集信息到一个单独的专栏中。 我希望在一列中显示粗体文本,在下一列中显示相关链接,在另一列中显示拼写说明。当一个描述引用另一个拼写时,问题就出现了。他们用斜体字将描述分成多个部分,如C153和C154所示。我认为在粗体文本和换行符之间抓住所有内容会更容易,但我不知道上下文 例如,如果格式错误,请原谅我,我在这里主要是猜测 <p> <b> <a href='link1'>
<p>
<b>
<a href='link1'>
Bold Link 1
</a>
</b>
:Followed by normal text
<br>
<b>
<a href='link2'>
Bold Link 2
</a>
</b>
:Normal Text
<i>with an italic</i>
in between
<br>
<b>
<a href='link3'>
Bold Link 3
</a>
</b>
:Back to this one
<br>
</p>
我可以把它拿回来
:后跟普通文本
普通文本
中间
:回到这个
但我想让它返回:后跟普通文本:中间有斜体的普通文本:返回到这个
我甚至不知道是否可以用一个命令来完成,但是如果您想选择p根元素的每个文本节点子代,而它不是a的子代,请使用以下XPath:
/p//text()[not(ancestor::a)]
或使用Kayian方法进行更多限制:
/p//text()[count(.|/p//a//text()) != count(/p//a//text())]
注意:XPath 1.0既没有交集也没有集合差分运算符,但它有并集by |运算符和基数by count函数。发现这些都足以测试集合成员身份:当且仅当{a}联合B的基数与B相同时,元素才是B集合的成员。从那里可以构建所有其他集合操作 这已经解决了吗?@player0,没有,甚至没有。事实上,IMPORTXML所施加的限制非常严格,根据其他一些论坛的建议,我只是通过BS4将整个项目迁移到Python中。实际上,从头开始要比弄明白这一点容易得多。为了避免IMPORTXML的限制,最好只导入一次,然后在单元格中刮取它=数组\u约束导入xmlhttps://aonprd.com/Spells.aspx?Class=Shaman,//*,10000,30我所关注的所有迭代都需要用到数百个importXML