问题描述
我想在 Google 电子表格中获取 Twitter 关注者人数。
我使用了下面的代码,结果是 N/A
=importXML("https://twitter.com/elonmusk","//a[@href='/elonmusk/followers']/span[@class='css-901oao css-16my406 r-poiln3 r-bcqeeo r-qvutc0'")
HTML 代码是
<a href="/elonmusk/followers" dir="auto" role="link" class="css-4rbku5 css-18t94o4 css-901oao r-18jsvk2 r-1loqt21 r-1qd0xha r-a023e6 r-16dba41 r-rjixqe r-bcqeeo r-qvutc0">
<span class="css-901oao css-16my406 r-18jsvk2 r-poiln3 r-b88u0q r-bcqeeo r-qvutc0">
<span class="css-901oao css-16my406 r-poiln3 r-bcqeeo r-qvutc0">54.8M</span></span>
<span class="css-901oao css-16my406 r-m0bqgq r-poiln3 r-bcqeeo r-qvutc0">
<span class="css-901oao css-16my406 r-poiln3 r-bcqeeo r-qvutc0">Followers</span></span></a>
解决方法
请仔细查看跨度节点。您尝试定位的跨度实际上嵌套在前一个跨度中,它不是兄弟。尝试改变这个:
//a[@href='/elonmusk/followers']/span[@class='css-901oao css-16my406 r-poiln3 r-bcqeeo r-qvutc0']
类似于以下内容(注意 /span/span 而不是 /span 以反映实际的层次结构 (a/span/span):
//a[@href='/elonmusk/followers']/span/span[@class='css-901oao css-16my406 r-poiln3 r-bcqeeo r-qvutc0']
或以下(注意 //span 而不是 /span),如果您不关心 a 和目标 span 节点之间的层次结构:
//a[@href='/elonmusk/followers']//span[@class='css-901oao css-16my406 r-poiln3 r-bcqeeo r-qvutc0']