Google XPATH importxml可以找到“show”而不是“showcount”或“count”

时间:2013-12-28 18:29:47

标签: xpath google-sheets

以此网页为例http://forums.macrumors.com/showthread.php?t=1688317 在google电子表格中,以下内容不适用于importxml():

//a[contains(@href,"showpost")]/@href
//a[contains(@href,"showcount")]/@href
//*[@id="postcount18545482"] 

最后一个(// * [@ id =“postcount18545482”])直接从Chrome的元素查看器中复制。

以下DO工作但排除任何带有“showcount”,“postcount”或“showpost”的结果:

//div[contains(@id,"post_message")]/@id
//a[contains(@href,"show")]/@href
//a[contains(@href,"post")]/@href

使用importxml()或XPATH时,“count”这个词有什么特别之处吗?我怎样才能得到丢失的条目?

1 个答案:

答案 0 :(得分:0)

  

Google文档电子表格中的ImportXML功能无法处理通过两步流程创建的数据。例如,在发出url请求之前必须首先检索身份验证令牌,或者当URL告诉服务器动态创建xml输出时,用户被重定向到输出之后,即使URL保持不变。您可能需要查看Google Apps脚本(http://code.google.com/googleapps/appsscript/index.html)来处理此案例。

取自here

在您的特定情况下,锚点参数在加载页面容器后调用的vbulletin_post_loader.js脚本中设置。

...
pc_obj=fetch_object("postcount"+this.postid);
openWindow("showpost.php?"+(SESSIONURL?"s="+SESSIONURL:"")
+(pc_obj!=null?"&postcount="+PHP.urlencode(pc_obj.name):"")+"&p="+A)
...

换句话说,当importXML()扫描页面时,href中包含“showpost”或“postcount”的节点尚未出现在页面上:

看起来importXML()仅适用于静态页面,无法处理动态加载的内容。

尝试找到另一种获取帖子中帖子数量的方法。