【问题标题】:Data scraping with Sheets is throwing errors使用表格抓取数据会引发错误
【发布时间】:2020-04-02 12:55:07
【问题描述】:

我收到一个错误:

导入的内容为空

当我像这样使用 importxml 时:

=IMPORTXML("https://pvpoke.com/rankings/all/1500/overall/","//div[@class='rankings-container clear']/div/div[2]/span[2]")

我已经在 Xpath 帮助程序中测试了我的查询并得到了我想要的确切结果。只有当它把数据放到谷歌表格上时,什么都不起作用。

【问题讨论】:

    标签: xpath web-scraping google-sheets google-sheets-formula google-sheets-importxml


    【解决方案1】:

    您尝试抓取的网站受 JavaScript 控制。 Google 表格无法导入 JS 元素。您可以简单地通过禁用给定站点的 JavaScript 来测试这一点,剩下的内容可以被抓取。在你的情况下,只有你在这里看到的:

    【讨论】:

    • 我听说 MS Excel 可以通过 VBA 脚本实现——但从未测试过
    【解决方案2】:

    备用选项。使用自定义脚本直接加载 JSON 数据。

    使用 GoogleSheets 导入 JSON 数据的脚本(感谢 Paul Gambill):https://gist.github.com/paulgambill/cacd19da95a1421d3164

    还有数据:

    https://pvpoke.com/data/all/overall/rankings-1500.json?v=1.14.5.2
    

    输出:

    编辑

    只输出口袋妖怪的名字:

    =UNIQUE(QUERY(ImportJSON("https://pvpoke.com/data/all/overall/rankings-1500.json?v=1.14.5.2");"SELECT Col1";1))
    

    【讨论】:

    • 我可以添加我自己的查询“//div[@class='rankings-container clear']/div/div[2]/span[2]”,而不是导入每一个JSON。也感谢您分享 JSON 到 GS 脚本。
    • 您可以在 GoogleSheets 中使用 QUERY 过滤 JSON,以仅保留口袋妖怪的名称。帖子已编辑。
    • 将查询和选项添加到 url 的代码看起来如何?对不起,如果我问的是基本问题,我很缺乏经验。
    • 我不确定是否理解这个问题。只需查看我的答案的编辑并将其复制粘贴到 GoogleSheets。 framapic.org/9qFx8dv79NuS/rij1nQ9ml87V.PNG
    猜你喜欢
    • 2022-11-10
    • 1970-01-01
    • 2016-12-05
    • 2021-12-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-07-08
    相关资源
    最近更新 更多