我想从使用Delicious书签服务转到Diigo,但是Diigo在RSS中组织标签的方式阻碍了我的这一转变。
我想使用Yahoo Pipe将Diigo rss标签转换为与Delicious rss标签相同的格式
Diigo标签以html列表的形式存储在"Description"条目的底部,如下所示: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列表并将每个标记分隔为单个类别字段。
不知道从哪里开始,除了这个正则表达式在regex中剥离html:
(?si)<a[^<>]*?[^<>]*>(.*?)</a>
欢迎指教
您可以通过使用Regex操作符执行以下替换操作从diigo流中提取标记:
- 用
$1
替换<a[^<>]*?[^<>]*>(.*?)</a>
,使用选项g和s (<a>...</a>
内的标签本身) - 将
<.+>
替换为空,使用选项g和m(删除所有HTML标签) - 用单个空格替换
[s]+
,使用选项g和s
结果,description字段现在包含由空格分隔的标签列表。我不知道你接下来需要什么,如果你告诉我,我可以试着帮你。
这是管道:
https://pipes.yahoo.com/pipes/pipe.info?_id=1656d9fcab9d9ed6016bdae7486ee71f我明白了,棘手的部分是向RSS提要添加多个类别节点。不幸的是,我认为这是不可能的。我更新了管道,所以现在您有item.category.1
、.2
、.3
等等,但是当您查看管道的RSS输出时,它没有显示任何类别。(我认为这可能与Create RSS操作符也没有类别字段有关。)
在JSON输出中有多个正确的类别。
我还测试了如果只有一个类别字段,它将在RSS输出中正确显示。如果有多于一个,则no.
恐怕我只能带你到这里了