Octoparse 和相关的 Xpath iframe 提取问题

问题描述 投票:0回答:2

我正在尝试使用 Octoparse 从 Marie Brown 的“Beyond the kitchen table”网站中提取播客详细信息。 https://beyondthekitchentable.co.uk/podcast/

我正在使用允许在本地抓取的 Octoparse 的免费版本。问题是,虽然 Octoparse 会自动自动检测标题、Title_URL 和内容网页数据并正确设置分页、滚动页面和循环项目工作流以提取(标题、Title_URL 和内容字段),但它不会自动-检测每个播客的“日期”和“播客持续时间”字段,因为这些片段似乎是从 iframe 嵌入的。但是,虽然我能够使用绝对 Xpath 自定义添加日期和播客持续时间,即

//div[@class="cfm-episodes-list"]/div[1]/div[2]/div[1]/iframe[1]
。这会导致为每条记录复制相同的值。因此,当我尝试通过使用 Octoparse 中的 Relative XPath 设置来循环每个项目
//span[@class="cp-episode-date"]
以便收集所有单独唯一的项目来解决此问题时,即使这个相对 Xpath
//span[@class="cp-episode-date"]
在我找到所有项目时它也没有获得任何值使用 WebDevTools 搜索和查找在 Chrome 中看到的所有事件。我在 Stackexchange 上看到了关于此的另一篇有用的帖子,但我无法理解它。

这部分

//span[@class="cp-episode-date"]
是相对 Xpath,因为它在 Chrome WebDevTools 中找到多个日期项目,但它不完整,我不确定如何为日期和播客持续时间自定义添加的字段实现独特的 Iframe 遍历我添加了 Octoparse 的 Relative正在查找 XPath 设置。我什至尝试安装 SelectorsHub Chrome 浏览器扩展程序,但它没有像 SelectorHub Youtube video 演示的那样启动嵌套的 SelectorHub 来查询 Xpath - 它只向我显示了我已经在下面显示的相对 Xpath。

请使用 Octoparse 查看此站点,看看是否可行。如果是这样,我该怎么做?

使用绝对路径时 -

//div[@class="cfm-episodes-list"]/div[1]/div[2]/div[1]/iframe[1]

使用相对路径时 -

//span[@class="cp-episode-date"]

xpath iframe
2个回答
0
投票

网页内有大量的iframe。我不知道 Octoparse 是否可以处理这个问题。选择另一个起点。

例如使用苹果播客:

https://podcasts.apple.com/gb/podcast/the-website-coach/id1587503231

可以使用以下 XPath 恢复日期:

//div[@class="l-row"]//time[@class]/@aria-label

其他可能性,抓取以下页面:

https://feeds.captivate.fm/the-website-coach/

可以使用以下 XPath 恢复日期:

//h4/text()

更简单,直接从这个 URL(.json 文件)获取数据:

https://itunes.apple.com/lookup?id=1587503231&media=podcast&entity=podcastEpisode&limit=100


0
投票

尝试自定义字段以匹配字段的数据类型。空白字段的原因可能是该字段的数据类型可能设置为 url 或其他数据类型。转到垂直视图>更多>自定义字段,然后将其设置回文本。

© www.soinside.com 2019 - 2024. All rights reserved.