我想从使用书签服务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>
我需要提取每一个并将它们存储在自己的项目中。美味存储每个标记在嵌套字段类别中的数字,如下所示:
category
0
domain http://delicious.com/username/
content firsttag
1
domain http://delicious.com/username/
content 2ndtag
因此,Yahoo Pipe需要剥离html列表并将每个标记分成单个类别字段。
不知道从哪里开始,除了正则表达式中的正则表达式以去除html:
(?si)<a[^<>]*?[^<>]*>(.*?)</a>
任何建议表示赞赏。
答案 0 :(得分:0)
您可以使用正则表达式运算符执行以下替换,从diigo流中提取标记:
<a[^<>]*?[^<>]*>(.*?)</a>
替换$1
,使用选项g和s(<a>...</a>
内的标记本身)<.+>
[\s]+
替换为单个空格
因此,描述字段现在包含由空格分隔的标记列表。如果你告诉我我可以尝试帮助,我不确定你接下来需要什么。
这是管道:
https://pipes.yahoo.com/pipes/pipe.info?_id=1656d9fcab9d9ed6016bdae7486ee71f
<强>更新强>
我知道,棘手的部分是在RSS源中添加多个类别节点。不幸的是,我认为这是不可能的。我更新了管道,现在您已经拥有item.category.1
,.2
,.3
等等,但是当您查看管道的RSS输出时,它并没有显示任何类别。 (我认为这可能与创建RSS 运算符也没有类别字段这一事实有关。)
在JSON输出中,有多个类别正确。
我还测试过,如果只有一个类别字段,它会在RSS输出中正确显示。如果有多个则没有。
我担心这是我能得到你的。