【问题标题】:Using relative xpath to scrape custom div attribute使用相对 xpath 来抓取自定义 div 属性
【发布时间】:2019-07-04 13:47:42
【问题描述】:

我有几百个 URL,我试图在其中抓取页面上图像的图像路径。每个页面的格式相同,但每个页面的 div 类是唯一的。

我希望能够在 Google 表格中使用 import xml 来仅抓取 data-path 元素的内容。

我尝试过使用 xpath 提取 URL,但失败了。

<div class="uniqueid active" data-path="/~/media/Images/image.jpg" data-alt="Anything"></div>

例如//div[@class='*']/@data-path"

网站示例:https://www.cannondale.com/en/Australia/Bike/ProductDetail?Id=77d3b8fe-41f7-42b6-bf69-b5cf0ae55548&parentid=undefined

【问题讨论】:

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


    【解决方案1】:

    如果 div 类的模式为 "uniqueid active",那么您可以尝试以下 XPath:

    //div[contains(@class, "active")]/@data-path
    

    否则,如果 div 类可以是任何东西,请使用以下查询:

    //div[@class]/@data-path
    

    更新:

    我尝试使用 IMPORTXML 获取 data-path 属性的值,但没有成功。尝试使用 Python(requestslxml)来实现它并且它有效。所以问题可能出在 Google 表格中 - 一些限制或错误,idk。

    【讨论】:

    • 感谢您的帮助 Mike,这两个都不起作用,我想知道 Google 表格是否不完全支持 xpath
    • 如果页面包含动态内容 - 您将无法使用 XPath 提取该内容。您可以在问题中至少包含一个 URL,然后我可以确定。
    • 谢谢 Mike,这是我想要到达的主要图像路径:cannondale.com/en/Australia/Bike/…
    • 奇怪,我可以看到 &lt;div data-path="..." ...&gt; 的响应,但无法在 Google 表格中使用 IMPORTXML 获得它。
    猜你喜欢
    • 1970-01-01
    • 2021-01-03
    • 2012-07-18
    • 1970-01-01
    • 1970-01-01
    • 2012-02-15
    • 1970-01-01
    • 2021-07-11
    • 1970-01-01
    相关资源
    最近更新 更多