【问题标题】:Correct Xpath query for Google Sheets XImport function problem更正 Google Sheets XImport 函数问题的 Xpath 查询
【发布时间】:2021-02-20 07:53:52
【问题描述】:

我正在尝试使用 Google Sheets XImport 从此网页 url https://www.nbatopshot.com/listings/p2p/208ae30a-a4fe-42d4-9e51-e6fd1ad2a7a9+2d0fe5aa-617a-4492-89d2-faa125e4b196 中提取“低价”。

我从开发者控制台复制了 xPath,它返回:

//*[@id="__next"]/div/main/div[3]/div/div[3]/div/div[2]/div[1]/div[1]/span

但是,当我将这两者放在一起时,我的公式现在可以正常工作并返回“导入的内容是空消息)。

谁能帮忙?

【问题讨论】:

    标签: xpath google-sheets xml-import


    【解决方案1】:

    试试这个:

    =VALUE(REGEXEXTRACT(IMPORTXML("https://www.nbatopshot.com/listings/p2p/208ae30a-a4fe-42d4-9e51-e6fd1ad2a7a9+2d0fe5aa-617a-4492-89d2-faa125e4b196","html/head/title"),"USD .([\d,]+)"))

    至于 IMPORTXML 本身,提取不是从 HTML 正文中提取的。乍一看,您在正文中看到的内容似乎是由脚本生成的,您将无法检索。但在这种情况下,PHP 似乎也在生成相同数据的静态标题标题 from,所以我能够从那里检索它。 (我在 Chrome 中通过右键单击页面并为“Lebron”执行“查找”找到了这个。)

    REGEXEXTRACT 只提取较低的数字,VALUE 将其转换为可用数字。

    【讨论】:

    • 太棒了,谢谢!例如,如果我想抓取球员姓名,以及他姓名下方的系列副标题,我是否只使用 H1 等?
    • 正如我所提到的,您看到的页面数据是由脚本生成的,因此您无法提取任何内容。碰巧的是,网站管理员从脚本生成的页面中也发现的数据片段创建了元标题,并将其用作硬编码标题(不是大多数网站的标准)。该标题中包含的数据是一个字符串,具体如下:“NBA Top Shot: USD $1,150.00 - USD $250,000.00 LeBron James - 可从 356 个卖家处获得”。这就是你可以提取的所有内容。这就是为什么需要 REGEX 来提取低端价格。
    • 此站点也需要登录才能访问。因此,如果您没有登录凭据,那么我什至可以提取尽可能多的数据,这只是运气。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-08-13
    • 2020-12-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多