【问题标题】:ImportXML in Google SheetsGoogle 表格中的 ImportXML
【发布时间】:2021-10-04 20:44:39
【问题描述】:

我正在尝试通过 Google 表格从意大利图书馆网站上抓取一个非常具体的文本字段,但是 - 尽管我之前成功地从该网站上的其他网页抓取过 - 似乎无法弄清楚这一点。

这是我有兴趣收集数据的一份意大利期刊的示例网页:http://digitale.bnc.roma.sbn.it/tecadigitale/giornale/RML0027063/1928/unico

我要抓取的字段(大约 2,500 个条目)是:“Luoghi”(指期刊的出版地)。我对文本“Luoghi”不感兴趣,而是对出现在标题“Luoghi”下方空间中的文本感兴趣,在上面提供的网页中是“Roma”。当然,该文本会因出版物而异。

我去检索了这个特定文本字段的 Xpath,谷歌浏览器说如下://*[@id="main"]/div[2]/div[2]/div/dl/dd[7]

然后我把双引号改成了单引号,像这样://*[@id='main']/div[2]/div[2]/div/dl/dd[7]

然后我将其放入 IMPORTXML 命令中,如下所示:=IMPORTXML("http://digitale.bnc.roma.sbn.it/tecadigitale/giornale/RML0027063/1928/unico","//*[@id='main']/div[2]/div[2]/div/dl/dd[7]")

但由于某种原因,它只是给了我一个错误。如上所述,我之前已经能够从这个网站上抓取,尽管是从有序列表而不是 div 中抓取,就像这个例子一样。谁能指出我做错了什么?

非常感谢。

-- 卡瓦洛·斯库罗

【问题讨论】:

    标签: google-sheets-formula


    【解决方案1】:

    试试这个 xpath

    //div[@class='data-detail']/dl/dd[7]
    

    如果你使用

    //div[@class='data-detail']/dl/dt|//div[@class='data-detail']/dl/dd
    

    您将获得所有详细信息,然后您可以选择您想要的路线,例如第 14 行

    =index(importxml(url,"//div[@class='data-detail']/dl/dt|//div[@class='data-detail']/dl/dd"),14,1)
    

    【讨论】:

      猜你喜欢
      • 2019-03-15
      • 1970-01-01
      • 1970-01-01
      • 2016-02-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多