Skip to content

Instantly share code, notes, and snippets.

What would you like to do?
downloads media from WordPress site using AppleScript and the REST API
--needs json helper for apple script Free from mac app store
set downloadfolder to POSIX path of (choose folder with prompt "Please select an output folder:")
set pagecountstart to 1
set pagecountmax to 1
set perpage to 10 --MAX =100
set blogurl to "FILL-IN-THE-URL"
if blogurl = "FILL-IN-THE-URL" then
display dialog "You need to edit the script to fill in a url" buttons "OK" default button "OK"
return false
end if
--We could also limit media to a particular type
--Or filter in various ways
repeat with pagecount from pagecountstart to pagecountmax
tell application "JSON Helper"
set bURL to blogurl & "/wp-json/wp/v2/media/?per_page=" & perpage & "&page=" & pagecount
set thejson to fetch JSON from bURL
set theimgs to {}
set imageCount to count of thejson
repeat with n from 1 to imageCount
set end of theimgs to source_url of item n of thejson
end repeat
end tell
repeat with img in theimgs
set cmd to "curl -L " & img & " > " & downloadfolder & filenamefromurl(img)
do shell script cmd
end repeat
end repeat
on filenamefromurl(theurl)
set s to "url=\"" & theurl & "\"; echo \"${url##*/}\""
return do shell script s
end filenamefromurl
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment