Applescript解析flickr网址?更改大小并添加页面链接

时间:2011-01-25 11:16:14

标签: applescript flickr

我的意思是,如果我在剪贴板中有这个:例如:

“http://farm6.static.flickr.com/5290/5377008438_8e3658d75f_m.jpg”

我可以使用applescript将其更改为

“http://farm6.static.flickr.com/5290/5377008438_8e3658d75f_b.jpg”

(将“m”改为“b”) ?

这会很方便,因为我可以直接从缩略图页面右键单击/复制照片网址,而无需向下钻取。是的,从缩略图页面到大尺寸只需点击几下,但我能保存的任何内容都不错。

另外,我可以复制照片ID,以便链接到主照片页面吗?

例如:

复制“5377008438”并粘贴到主链接“http://www.flickr.com/photos/dbooster/5377008438”

我只说AppleScript,因为我想到了,但是我可以从文本扩展器调用的任何东西都可以工作。

3 个答案:

答案 0 :(得分:1)

可以像这样操作URL:

set baseURL to "http://farm6.static.flickr.com/5290/5377008438_8e3658d75f_m.jpg"

set modURL to (characters 1 through -6 of baseURL as text) & "b.jpg"

set fileName to last item of (tokens of baseURL between "/")
set photoID to first item of (tokens of fileName between "_")
set mainPhotoPage to "http://www.flickr.com/photos/dbooster/" & photoID

{modURL, fileName, photoID, mainPhotoPage}

on tokens of str between delimiters
    set oldTIDs to text item delimiters of AppleScript
    set text item delimiters of AppleScript to delimiters
    set strtoks to text items of str
    set text item delimiters of AppleScript to oldTIDs
    return strtoks
end tokens

当我运行该脚本时,我得到了

{"http://farm6.static.flickr.com/5290/5377008438_8e3658d75f_b.jpg", "5377008438_8e3658d75f_m.jpg", "5377008438", "http://www.flickr.com/photos/dbooster/5377008438"}

我不清楚你是否需要与剪贴板交互的帮助。但无论如何都很容易,你可以使用getset

get the clipboard
set the clipboard to "example"

答案 1 :(得分:0)

我认为这应该是你的出发点:

changeUrl("http://farm6.static.flickr.com/5290/5377008438_8e3658d75f_m.jpg")

on changeUrl(theUrl)
  set theNewUrl to do shell script "echo " & theUrl & "| tr '_m.jpg' '_b.jpg' "
end changeUrl

...虽然我不完全确定,你最终想要实现的目标 - 你想要从你的剪贴板中生成从“5377008438”以“_b.jpg”结尾的链接吗? / p>

答案 2 :(得分:0)

感谢大家的回复!

我为没有提供更多细节而道歉。今天早上我使用迈克尔提供的代码,修改它以获取两个变量(直接照片网址和照片标题)并吐出一些标记代码的参考结束以显示照片和链接,提示我照片尺寸和边框。

它看起来效果很好。这是我写的。

copy (the clipboard) to URL_TITLE

set baseURL to first text item of (tokens of URL_TITLE between " ")
set baseTitle to ("\"" & second text item of (tokens of URL_TITLE between "\"") & "\"")

set modURL to (characters 1 through -6 of baseURL as text) & "b.jpg"

set fileName to last item of (tokens of baseURL between "/")
set photoID to first item of (tokens of fileName between "_")
set mainPhotoPage to "http://www.flickr.com/photos/dbooster/" & photoID

set photoWidth to the text returned of (display dialog "Photo Width?" default answer "980")
set photoHeight to the text returned of (display dialog "Photo Height?" default answer "605")
set photoBorder to the text returned of (display dialog "Border Size?" default answer "10")

set var6 to ("[photo]: " & modURL & " " & baseTitle & " width=" & photoWidth & "px" & " height=" & photoHeight & "px" & " style=\"border: " & photoBorder & "px solid black\" class=\"aligncenter shadow\" & "\n" & [photopage]: " & mainPhotoPage & " target=\"_blank\" rel=\"nofollow\"")

set the clipboard to var6

on tokens of str between delimiters
    set oldTIDs to text item delimiters of AppleScript
    set text item delimiters of AppleScript to delimiters
    set strtoks to text items of str
    set text item delimiters of AppleScript to oldTIDs
    return strtoks
end tokens

就像我说的,一切都很棒。我有一个firefox插件,可以将直接照片链接和照片标题(URL“TITLE”)复制到剪贴板中。然后我为此脚本分配了一个带有Fastscripts的热键,它将结果返回到剪贴板。然后我可以将结果粘贴到我的帖子模板文件中。

我无法使用文本扩展器,但Fastscripts可以快速调用它,因此没有问题。

说实话......我很不清楚我做了什么。我根本不懂AppleScript。我只是为我的问题建议它,因为文本扩展器支持它,它似乎很容易。所以,即使我写的剧本似乎有效,但我只是在摆弄迈克尔给出的代码。

所以这就是说,如果你看到一个更有效的方式来做我做的事情,我全都听见了。

再次感谢您的帮助,伙计们!