1

我想从使用书签服务 Delicious 转移到 Diigo,但 diigo 在其 RSS 中组织标签的方式阻止了转移。

我想使用 Yahoo Pipe 将 Diigo rss 标签转换为与 Delicious rss 标签相同的格式

Diigo 标签存储为“描述”项底部的 html 列表,如下所示:

Some test describing the link.

<p class="diigo-tags"><strong>Tags:</strong>

    <a rel="nofollow" target="_blank" href='https://www.diigo.com/user/username/firsttag'>firsttag</a>

    <a rel="nofollow" target="_blank" href='https://www.diigo.com/user/username/2ndtag'>2ndtag</a>

    <a rel="nofollow" target="_blank" href='https://www.diigo.com/user/username/anothertag'>anothertag</a>

etc... </p>

我需要提取其中的每一个并将它们存储在自己的项目中。Delicious 按数字将每个标签存储在嵌套字段类别中,如下所示:

category
  0
   domain http://delicious.com/username/
   content firsttag
  1
   domain http://delicious.com/username/
   content 2ndtag

因此,Yahoo Pipe 需要剥离 html 列表并将每个标签分成单个类别字段。

不知道从哪里开始,除了正则表达式中的这个正则表达式来剥离 html:

(?si)<a[^<>]*?[^<>]*>(.*?)</a>

任何建议表示赞赏。

4

1 回答 1

0

您可以通过使用Regex运算符执行以下替换来从 diigo 流中提取标签:

  • 替换<a[^<>]*?[^<>]*>(.*?)</a>$1, 使用选项 g 和 s (标签本身在<a>...</a>)
  • <.+>使用选项 g 和 m替换为空(删除所有 HTML 标记)
  • 使用选项 g 和 s替换[\s]+为单个空格

因此,描述字段现在包含由空格分隔的标签列表。我不确定您接下来需要什么,如果您告诉我,我可以尝试提供帮助。

这是管道:

https://pipes.yahoo.com/pipes/pipe.info?_id=1656d9fcab9d9ed6016bdae7486ee71f

更新

我明白了,棘手的部分是将多个类别节点添加到 RSS 提要。不幸的是,我认为这是不可能的。我更新了管道,现在您有了item.category.1.2.3等,但是当您查看管道的 RSS 输出时,它没有显示任何类别。(我认为这可能与Create RSS运算符也没有类别字段有关。)

在 JSON 输出中有多个正确的类别。

我还测试了如果只有一个类别字段,它会在 RSS 输出中正确显示。如果有多个则没有。

恐怕这是我所能得到的。

于 2014-07-12T17:20:48.650 回答