Как загрузить все PNG на странице с помощью рабочего процесса iOS?

Я хочу сохранить все PNG с этого глупого веб-сайта , чтобы преобразовать их в PDF. Я думал, что буду использовать Workflow для iOS, которым я никогда раньше не пользовался.

Я получаю содержимое этой страницы, а затем получаю все ссылки

Get Contents of URL
|> Get URLs from Input
|> Quick Look

Но когда я хочу отфильтровать или сопоставить эти URL-адреса для PNG, я получаю странные applewebdata://URL-адреса, например

applewebdata://{guid}/path/to/PNG

В настоящее время я использую iOS и пытаюсь заставить Workflow (или что-то подобное) работать для этой задачи. Спасибо за другие предложения, но они не будут работать для меня!

Вы пытаетесь получить содержимое URL-адреса до получения URL-адреса? Я думаю, что вы можете иметь неправильное действие здесь.
Я настоятельно рекомендую вам приобрести Pythonista для таких вещей. Я понимаю, что на ваш фактический вопрос не ответили, и я не знаю, возможно ли это вообще с Workflow. Я не мог представить себе попытку автоматизировать что-то на своем телефоне без настоящего языка программирования.
iPad, даже просто air 2, а особенно pro, отлично работает в режиме раздельного просмотра :) это как бы единичный случай, но я стараюсь использовать iPad более исключительно. Мне даже не нужен рабочий процесс общего назначения. Эта штука с applewebdata — чепуха.

Ответы (3)

Ты так близко! Ключевым недостающим элементом здесь является использование Get Contents of Web Pageдействия вместо Get Contents of URL. Если вы просто замените это действие, все должно работать так, как вы ожидали, и вы можете использовать более простое решение, на которое вы ссылались в своем ответе.

Вот рабочий пример:

Get Contents of Web Page
|> Get URLs from Input
|> Get Contents of URL
|> Filter Images Where: File Extension is 'png', Sort by Name, Order A to Z
|> Make PDF
|> Set Name: Workflow Input Name
|> Quick Look
|> Save File
Не уверен, что вы видели веб-страницу, но «изображения», которые мне нужно извлечь, представляют собой просто теги привязки с PNG hrefs, а не теги img. Будет ли работать в этом случае Get Contents of Web Page?
Да! Использование Get Contents of URLдействия приводит к тому, что вы получаете эти applewebdata://URL-адреса. Если вы используете Get Contents of Web Pageвместо этого, вы получите ожидаемые URL-адреса, и он должен «просто работать» без воссоздания URL-адресов вручную. Попробуйте!
Оно работает! Я собираюсь добавить свой точный рабочий процесс к вашему ответу и принять его. Спасибо!

Какой горячий беспорядок ... В итоге я использовал несколько шагов «Получить компонент URL», чтобы извлечь схему и хост из ввода рабочего процесса и путь от ссылок к PNG на странице (это были те, которые показаны как applewebdata://) .

Когда у меня были части URL для загрузки, все пошло примерно так

Get Contents of URL
|> Get Component of URL; Scheme
|> Save Variable 'Scheme'
<Input>
|> Get Component of URL; Host
|> Save Variable 'Host'
<Input>
|> Get URLs from Input
|> Repeat with Each
   |> If Input Contains '.PNG'
   |> Get Component of URL; Path
   |> URL <Scheme>://<Host>/<Path>
   |> Get Contents of URL
   |> Add to Variable 'Pages'
|> Pages
|> Filter Images; Sort by Name A to Z; File Type 'PNG'
|> Make PDF
|> Set Name <input.Name>
|> Quick Look
|> Save File

Похоже, что если бы мне не нужно было разбиваться на процедурные шаги для извлечения и рекомбинации пригодного для использования URL-адреса, я мог бы написать гораздо более чистый и простой конвейер. Что-то вроде

Get Contents of URL
|> Get URLs from Input
|> Get Contents of URL
|> Get Images from Input
|> Filter Images; Sort by Name A to Z
|> Make PDF
|> Set Name <input.Name>
|> Quick Look
|> Save File

РЕДАКТИРОВАТЬ: Если у вас есть Mac, вы можете использовать Automator со следующим рабочим процессом для выполнения этой задачи.

Попробуйте это, это сработало для меня! (Хотя вы можете просто загрузить эти несколько изображений вручную, щелкнув правой кнопкой мыши по ссылкам и выбрав «Загрузить связанный файл»)

Автоматизатор Скриншот

OP использует iOS, а не macOS. Поэтому я сомневаюсь, что здесь применим рабочий процесс MacOS Automator.
Черт возьми, ты прав. Не достаточно внимательно читал.