【发布时间】:2013-04-05 14:35:52
【问题描述】:
遗憾的是,Google Reader 宣布将于今年年中关闭。
由于我在 Google 阅读器中有大量已加星标的项目,我想备份它们。
这可以通过谷歌阅读器外卖来实现。它会生成一个JSON 格式的文件。
现在我想从这个数 MB 的大文件中提取所有文章的 url。
起初我认为最好对 url 使用正则表达式,但似乎最好通过正则表达式提取所需的文章 url 来查找文章 url。这将防止提取其他不需要的 url。
以下是 json 文件部分外观的简短示例:
"published" : 1359723602,
"updated" : 1359723602,
"canonical" : [ {
"href" : "http://arstechnica.com/apple/2013/02/omni-group-unveils-omnifocus-2-omniplan-omnioutliner-4-for-mac/"
} ],
"alternate" : [ {
"href" : "http://feeds.arstechnica.com/~r/arstechnica/everything/~3/EphJmT-xTN4/",
"type" : "text/html"
} ],
我只需要你可以在这里找到的网址:
"canonical" : [ {
"href" : "http://arstechnica.com/apple/2013/02/omni-group-unveils-omnifocus-2-omniplan-omnioutliner-4-for-mac/"
} ],
也许有人有心情说正则表达式必须如何提取所有这些 url?
这样做的好处是有一种快速而肮脏的方式从 Google 阅读器中提取加星标的项目网址,以便在处理后将它们导入到 Pocket 或 evernote 等服务中。
【问题讨论】:
-
不要对正则表达式执行此操作。 正则表达式并不是你在碰巧涉及文本的每一个问题上挥舞的魔杖。使用现有的、编写的、经过测试和调试的 JSON 库。
-
顺便说一句,我也为谷歌阅读器的关闭感到难过。我发现bloglines.com 是可以接受的替代品。虽然不像阅读器那样响应迅速,但它的界面非常相似,并且可以直接从 Google Takeout XML 输出中导入 OPML。