我仍在与雅虎管道采取措施,并努力应对我认为应该是一项简单的任务。
我有table on a page正在实时更新(每1-2分钟一次) 我想提取行,推入管道,然后以下列格式吐出JSON:
"sites": [
{
"Site": "210001-Singleton",
"LastSampleTime": "29/04/2014 11:51:00",
"RiverLevel": "0.744",
"FlowRate": "501.6",
"FlowRate": "0.744",
"Rainfall": "",
"WaterTemp": "",
"Conductivity": ""
},
etc.
我认为我正确地认为,一旦我用XPath提取器拉出相关表组件,我就会使用包含在其中的Item Builder的Loop来将数据吐出到上面的格式中。但是,我正在努力尝试拉入简单的表格。
以下是my yahoo pipe的简化版本
我尝试了XPath字符串的多种变体来尝试获取我需要的行
从用萤火虫检查桌子,我知道我想要的TR,似乎都与tr style="height:18px"
的高度相同
但是,不确定这是否是提取它们的最佳方式。
有人可以协助提供一些关于如何将表拉成我想要的格式的指示吗?不太确定我在哪里出错Xpath
答案 0 :(得分:2)
Import.io可以做你想要的。即使该站点上的HTML有点混乱,您仍然可以在该工具中使用自定义xpath覆盖。
我为你构建了第一行数据,所以你需要做的就是进入并编辑现有的提取器,使用以下提取器作为起点添加更多列https://import.io/data/set/?mode=loadSource&source=f867a123-091e-4596-bbea-871df2d5ceb7
只需打开它,编辑提取器并添加所需的cols。这是我使用的xPath代码:
/html/body/table/tbody/tr[7]/td[5]
表中的第7行是第一行包含数据,td [2]是第一个单元格。只需增加tr [x]中的数字即可到达下一行。
一旦数据结构化,点击集成,并按照说明操作。使用import.io支持也可以提供帮助,这就是它们的用途。
如果表格将扩展为更多行,您可能希望更改xPath以处理tr
的子元素的值免责声明:我在import.io工作,存在其他工具。