0 votos

Automator - Modificar los resultados de Get Image URLs from Webpage

Estoy tratando de modificar los resultados de una lista de 30 ítems de "Get Image URLs on Webpage".

Por ejemplo:

"https://dspncdn.com/a1/media/236x/82/58/da/8258da274aa4b81ab00c9c92cf5bcf50.jpg",
  "https://dspncdn.com/a1/media/236x/4e/9a/75/4e9a75bec9041112751ca2dd08a45026.jpg",
  "https://dspncdn.com/a1/media/236x/33/83/46/338346575aa402b13cb778c9525018fb.jpg",

Lo que me gustaría hacer es sustituir "236x" por "originales".

El problema es que lo más cercano que puedo conseguir elimina el " ", y los saltos de línea, lo que hace imposible la descarga.

"https://dspncdn.com/a1/media/original/82/58/da/8258da274aa4b81ab00c9c92cf5bcf50.jpghttps://dspncdn.com/a1/media/original/4e/9a/75/4e9a75bec9041112751ca2dd08a45026.jpghttps://dspncdn.com/a1/media/original/33/83/46/338346575aa402b13cb778c9525018fb.jpghttps://dspncdn.com/a1/media/original/a1/4f/7b/a14f7b07c1fafb12fce1ccdd53b52e69.jpghttps://dspncdn.com/a1/media/original/30/42/64/304264157b118808f6702f82c043aa65.jpg

Etc.

Perdóname por ser extremadamente novato. El código que estoy utilizando para hacer el cambio es:

on run {input}
    set input to replaceText("236x", "original", input as string)
end run

on replaceText(find, replace, textString)
    set prevTIDs to AppleScript's text item delimiters
    set AppleScript's text item delimiters to find
    set textString to text items of textString
    set AppleScript's text item delimiters to replace
    set textString to "" & textString
    set AppleScript's text item delimiters to prevTIDs
    return textString
end replaceText

No estoy seguro de las palabras correctas para describir las cadenas y los párrafos, verdaderamente noob, pero supongo que la conservación de cada línea en el párrafo podría requerir algo totalmente diferente. ¿Sigue siendo una cadena si tiene varias líneas?

Gracias de antemano por cualquier ayuda que se pueda dar. Creo que es mi último paso para resolver esto.

0voto

red_menace Puntos 111

En un Ejecutar AppleScript la acción, el manejador de ejecución input es un parámetro lista de elementos de la acción anterior, y el resultado devuelto por el script es lo que se pasa a cualquier acción siguiente.

En tu ejemplo, estás juntando los elementos de entrada (coaccionando a una cadena) y luego quieres separarlos. Dado que la entrada ya es una lista, puedes simplemente recorrer esa lista, construyendo una nueva (para la salida) a partir del procesamiento de cada elemento, por ejemplo:

on run {input, parameters}
   set output to {}
   repeat with anItem in input
      set end of output to replaceText("236x", "original", anItem as text)
   end repeat
   return output
end run

on replaceText(find, replace, textString)
   set prevTIDs to AppleScript's text item delimiters
   set AppleScript's text item delimiters to find
   set itemList to text items of textString -- split using old
   set AppleScript's text item delimiters to replace
   set textString to itemList as text -- join using new
   set AppleScript's text item delimiters to prevTIDs
   return textString
end replaceText

AppleAyuda.com

AppleAyuda es una comunidad de usuarios de los productos de Apple en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X