Быстрый способ получить изображения с сайта размером> х - PullRequest
0 голосов
/ 23 января 2012

Я пытаюсь создать механизм, который будет сканировать веб-сайт по заданному URL и получать все изображения.В настоящее время я использую simple_html_dom, который медленный .

Сканирование веб-сайта с localhost занимает у меня около 30 с - 1 мин.

Что мне нужно сделать, это:

  1. загрузка URL.
  2. сканирование изображений (если возможно с определенным размером x> ширина)
  3. печать их.

Я ищу самый быстрый способ.

Ответы [ 2 ]

3 голосов
/ 23 января 2012

Нет быстрого пути.Вы не можете уменьшить задержку в сети.Вы не можете избежать получения изображения, чтобы определить его размер.Остальные операции уже являются незначительной частью процесса.

1 голос
/ 19 мая 2012

Другой ответ упрощен, потому что вы можете уменьшить общую пропускную способность сети, отправляя на сервер HEAD запросы на получение размера изображения перед его загрузкой - сразу же экономя почти всю пропускную способность для изображений с размером

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

Причина, по которой я пошел на все, чтобы загрузить только минимум изображений, заключается в том, что некоторые методы PHP для этого очень медленные. Если я использую copy() для загрузки файла и затем делаю то же самое, используя raw-сокеты или cURL, copy() иногда занимает по крайней мере вдвое больше времени.

Таким образом, выбор метода передачи и выбор метода синтаксического анализа имеют заметный эффект.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...