我想拉票并查看某些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']")
这似乎工作正常。但不是第一个。那是怎么了?
最佳答案
机器人获取importXML
的页面是该站点的匿名访问者。因此,它只能获取网站向匿名访问者显示的内容。通过在未登录的浏览器中(或在浏览器的私有/隐身窗口中)打开页面,您会发现没有元素为count
的元素:不显示upvotes。
通常,要查看importXML
的内容,应以隐身模式打开页面并查看其来源。除了区分匿名访问者和登录访问者之外,许多站点还使用JavaScript修改页面,而importXML
机器人不会执行JavaScript。