Загрузка и переименование картинок при парсинге контента с помощью макроса шаблона вывода <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)

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

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

    • это важный вопрос! ответьте пожалуйста!
      например на сайте картинки распологаются так:
      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 изображения в разные папки
      ——————-

  2. Рустам:

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

  3. Евгений:

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

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

  5. Денис:

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

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

  6. Дармиан:

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

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

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

Вы должны войти чтобы добавить комментарий.

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

css.php