我试图抓取位于页面的<script>
部分内的一些特定内容(在标签结尾之前的页面底部。我的理解是这不能用常规XPath完成,所以我将成为通过SEOTools for Excel插件使用PhantomJs云。
请参阅以下代码:
<script> window.__INITIAL_STATE__ = {"questions":{"list":{},"status":{}},"sites":{"list":{"SEOTest":{"joined":"2016-04-17T22:00:31.000Z","threshold":[],"abn":"8724483318952",
我希望能够在“ABN”字段后刮取文本,因此xpath将返回“8724483318952”。有谁知道如何用xpath做到这一点?
要检索"8724483318952"
的所需目标字符串值,可以使用以下XPath-1.0表达式:
substring-before(substring-after(script,'abn":'),',')
它从<script>
标签中获取所需的字符串,其输出为
"8724483318952"
根据XPathUrl
的说法,this link的签名是:
=XPathOnUrl(
string url,
string xpath,
string attribute,
string xmlHttpSettings,
string mode
) : vector
所以整个表达式看起来像这样:
=XPathOnUrl(A2,"substring-before(substring-after(//ul[@class='headshot']/script,'abn":'),',')")
我不确定这个表达式是否确实有效,但是它应该让你对如何处理XPath表达式有一个非常精确的想法。