我想提取一些Quora答案的投票和观看数据。我试图使用Google Spreadsheet的IMPORTXML功能来做到这一点。要获得Upvotes数据,这是我正在使用的代码:
=IMPORTXML("https://www.quora.com/What-are-the-good-online-tutorials-and-books-to-learn-Android-development/answer/Pushpa-Latha-38","//span[@class='count']")
出于某种原因,这显示#N / A(导入的内容为空)消息。当我在Chrome的XPath Helper插件上使用相同的XPath查询时,我确实得到了数据。在我执行此操作之前,我还使用类似的代码获得了有关此答案的总观看次数:
=IMPORTXML("https://www.quora.com/What-are-the-good-online-tutorials-and-books-to-learn-Android-development/answer/Pushpa-Latha-38","//div[@class='CredibilityFact']")
这似乎工作正常。但不是第一个。这个有什么问题?
答案 0 :(得分:2)
importXML
的机器人抓取页面是该网站的匿名访问者。因此,它只能获取该网站向匿名访问者显示的内容。通过在未登录的浏览器中打开页面(或在浏览器的私人/隐身窗口中),您会发现没有类count
的元素:不显示upvotes。
通常,要查看importXML
看到的内容,应该以隐身模式打开该页面并查看其来源。除了匿名访客和登录访客之间的区别,许多网站使用JavaScript修改页面,importXML
机器人不执行。