使用XPath在标签之间和标签内部获取字符串

时间:2019-04-04 11:32:00

标签: xpath google-sheets

对于XPath来说是超级新手,如果我偶然发现条款,请原谅我。我正在Google文档中使用IMPORTXML(),以便从网页中提取信息。基本上我要拍摄的是把它转过来

enter image description here

进入

enter image description here

我不知道如何在<br>节点之间提取信息并从<a>节点内部提取字符串。 我摸索到=IMPORTXML($A$1, "//p/b[starts-with(text(), '"& $A4 &"')]/following-sibling::text()[1]")的位置,以得到1的投放时间回报,但没有其他回报。

最终目标是针对整个页面上的大约十二个不同值执行此操作,并通过大约500个网页(即公式中的单元格)循环检查。任何帮助将不胜感激。


超级深度澄清部分

使用XPath和Google表格,我试图自动为咒语施法者列表中的每个咒语制作roll20格式的模板宏。 例如,我使用//tr/td[1]/a[@href]//tr/td[1]/a/@href的{​​{3}}来创建拼写名称及其相关URL的并排列。 Shaman Spell List 然后,在另一页上,我可以复制并粘贴整个班级拼写列表,并使用Vlookup获取关联的URL,同时保持组织化的级别分段表(请注意,超链接拼写名称为富文本,因此内部URL不可见)到IMPORTXML,因此是多余的步骤)。 enter image description here

对于具有超过500个以上的咒语的单个类,最终目标是创建一系列IMPORTXML,以查看咒语URL并从该特定部分中提取相关数据。对于此示例,我使用enter image description here

Arcane Mark

最终目标是使用IMPORTXML来获取每个重要的类别,例如学校,施法时间,目标,效果,区域,范围等。将它们放在各自的列中,并写一个我写的连接仔细研究所有各个部分,并将其放入与roll20宏模板兼容的大格式字符串中,使其看起来像&{template:default} {{Name=Arcane mark}} {{School=Universal}} {{Casting Time=1 Standard Action}} {{Components=V,S}} {{Range=Touch}} {{Effect=One personal rune or mark, all of which must fit within 1 sq. ft.}} {{Duration=Permanent}} {{Saving Throw=None}} {{Spell Resistance=No}}

1 个答案:

答案 0 :(得分:0)

=ARRAYFORMULA(REGEXEXTRACT(TRANSPOSE(QUERY(TRANSPOSE(QUERY(ARRAY_CONSTRAIN(
 IMPORTDATA("http://www.d20pfsrd.com/magic/all-spells/a/arcane-mark"),1000,5), 
 "where Col1 contains 'School'", 0)),,999^99)), A10&"\</b>\ (.+)\;"))

0