Загрузка и переименование картинок при парсинге контента с помощью макроса шаблона вывода <NIMG>

Для загрузки картинок на диск при парсинге контента нужно, чтобы в коде сохраняемого документа присутствовали либо html-теги <img src="абсолютная или относительная ссылка на картинку">, либо специальный макрос <NIMG>абсолютная или относительная ссылка на картинку</NIMG>.

Еще одним необходимым условием загрузки картинок на диск является наличие в абсолютной или относительной ссылки на картинку расширения изображения (“.jpg”, “.gif”, “.jpeg”, “.png”, “.bmp”). Бывают случаи, когда абсолютная или относительная ссылка на картинку не содержит в себе расширения изображения (например, когда картинка выводится скриптом). Для загрузки таких картинок следует включить опцию “загружать изображения, генерируемые php скриптом” (вкладка “контент” – группа “парсинг и обработка” – кнопка “настройка парсинга картинок…”).



Загрузка изображений с относительными ссылками


Допустим, что мы парсим контент с web-страницы test.ru/articles/article.html.

Предположим, что на этой странице имеются картинки с относительными ссылками:
1) /images/image.jpg
2) images/image.jpg
3) /image.jpg
4) image.jpg

При парсинге таких картинок программа автоматически преобразует их ссылки в абсолютные и попытается загрузить эти изображения со следующих адресов (в зависимости от страницы, с которой парсим и от относительной ссылки изображения):
1) test.ru/images/image.jpg
2) test.ru/articles/images/image.jpg
3) test.ru/image.jpg
4) test.ru/articles/image.jpg

Иными словами: если относительная ссылка картинки имеет / в начале, то она добавится к корню сайта (test.ru+/images/image.jpg), если символа / нет, то она добавится к текущей “папке” web-адреса страницы с которой производится парсинг (test.ru/articles/+images/image.jpg).

Также вы можете вручную прописать префикс для всех относительных ссылок изображений в настройке парсинга картинок (вкладка “контент” – группа “парсинг и обработка” – кнопка “настройка парсинга картинок…”). В этом случае программа будет пытаться загружать изображения со следующих адресов: указанный префикс+относительная ссылка. Допустим, что вы указали в качестве префикса site.ru/images/, а ссылка изображения имеет вид image1.jpg, в итоге получим: site.ru/images/image1.jpg.



Парсинг картинок товаров интернет-магазинов в CSV




Переименование изображений


Переименование всех изображений документа можно осуществить с помощью макроса шаблона вывода IMAGESNAMES (http://sbfactory.ru/cd/?p=261) (обращаю ваше внимание на то, что использование этого макроса применяется ко всем изображениям документа сразу).
Изменить папку сохранения изображений можно с помощью макроса шаблона вывода IMAGESPATH (найдите его в дереве макросов шаблона вывода, используя ctrl+f для поиска по дереву макросов).

Если вам нужно каждой картинке присваивать какое-нибудь определенное имя файла, то для загрузки изображений используйте связку макросов DFN+DOWNLOADFILE (http://sbfactory.ru/cd/?p=1070)!



Важное примечание!


Если вы используете для загрузки нескольких картинок повторяющиеся границы парсинга, то так делать не нужно:

1
<NIMG><CD_CYCLE_GRAN_1!></NIMG>

Нужно нажать ctrl+5 и дописать в шаблон соответствующей повторяющейся границы парсинга:

1
<NIMG>[VALUE]</NIMG>




1 Star2 Stars3 Stars4 Stars5 Stars (оценок: 3, средний балл: 5.00)

Loading...
Автор: admin, 8 April 2013
Рубрики: Парсинг
Tags:
Есть 14 коммент. к сообщению: “Загрузка и переименование картинок при парсинге контента с помощью макроса шаблона вывода <NIMG>”
  1. Олег says:

    Как парсить только картинки и при этом чтобы в отдельные папки

    • это важный вопрос! ответьте пожалуйста!
      например на сайте картинки распологаются так:
      site.ru/uploads/images1/kartinka1.jpg(site.ru/uploads/images1/kartinka2.jpg)…
      site.ru/uploads/images2/kartinka1.jpg(site.ru/uploads/images2/kartinka1.jpg)…
      как так-же распределить по папкам локально???
      c:\\uploads\images1\kartinka1.jpg(c:\\uploads\images1\kartinka2.jpg)…
      c:\\uploads\images2\kartinka1.jpg(c:\\uploads\images2\kartinka2.jpg)…
      ——————-
      я думаю вопрос очень актуальный
      ——————-
      теги:
      ——————-
      content downloader изображения в разные папки , content downloader картинки в разные папки , content downloader загружать изображения в разные папки , content downloader 2 изображения в разные папки
      ——————-

      • Алексей says:

        Добрый день, тоже очень нужно такое!

        • admin says:

          Здравствуйте.
          Использовать макрос шаблона вывода DOWNLOADFILE для загрузки картинок и макрос DFN – для их распределения по папкам (переименования).

  2. Рустам says:

    Здраствуйте, парсил сайт на предмет картинок, но в повторяющихся границах, подставляю скрипт nimg но почему то по прежнему выдается вся ссылка в картинке, а в обычных границах все в порядке, и соответственно не появляются и не скачиваются файлы в папку, что может быть?

  3. Евгений says:

    На сайте Картинки имеют расширение jpg и JPG. Скрипты для картинок НЕ РАБОТАЮТ с JPG. Когда делаю через downloadfile, то он jpg переименовывает в html, а JPG в jpg. Как и скачать и сохранить изначальное расширение. и в идеале не переименовывать.

    • admin says:

      Здравствуйте.

      Пожалуйста, предоставьте URL-адрес страницы, содержащей “проблемные” картинки.

      Спасибо!

  4. Вадим says:

    Как сделать так чтобы парсинг выдавался в сссылках с сайта поставщика?

  5. Денис says:

    Добрый день! Как сделать что бы в ячейке CSV сохранялось только имя картинки?
    /outlets/tashkeel/innerbig/tashkeel1_innerbig.jpg – сохраняет
    tashkeel1_innerbig.jpg – желаемый результат

    Заранее спасибо!

  6. Дармиан says:

    Здравствуйсте,

    Пожалуйста подскажите, как можно указать парсеру, чтобы после окончания парсинга одной папки, перешел к другую? Как можно указать сразу несколько папок для парсинга?
    Спасибо

    • admin says:

      Здравствуйте.

      Подобные вопросы, пожалуйста, задавайте на форуме http://forum.sbfactory.ru/
      Также старайтесь максимально точно и детально изъяснять суть задачи.

      Спасибо!

Написать комментарий

Последние статьи

css.php