![]() |
Как загрузить все изображения с веб-сайта?
Привет, булчане!
У меня есть задача: Загрузить изображения товаров с этого веб-сайта: http://www.onlinetrade.ru/catalogue/ Всего картинок должно быть примерно 100 тысяч. Изображения хранятся здесь: http://www.onlinetrade.ru/img/items/s/{IMAGE_NAME}.jpg (например: http://www.onlinetrade.ru/img/items/...her niy_1.jpg) Но к этой директории нет доступа: http://www.onlinetrade.ru/img/items/s Я пробовал Teleport Pro, который плохо справился с задачей. Потом перешел на Offline Explorer, он отлично выполняет задачу. Но почему-то загружает только около 5 тысяч картинок. Что посоветуете? |
Ответ: Как загрузить все изображения с веб-сайта?
Сам скрипт напиши, там же ничего сложного. Получить список всех разделов (рекурсивно, если там дерево), далее по каждому разделу все товары и по картинке к каждому товару.
|
Ответ: Как загрузить все изображения с веб-сайта?
Цитата:
|
Ответ: Как загрузить все изображения с веб-сайта?
А какой язык программирования тебе ближе всего ?
|
Ответ: Как загрузить все изображения с веб-сайта?
Цитата:
|
Ответ: Как загрузить все изображения с веб-сайта?
ну тогда возьми nodejs скачай страницу, распарси (наверняка библиотека/модуль для этого уже написаны), далее составь список всех разделов, для каждого раздела получи список товаров (также запрашивая страницу и парся её), далее для каждого товара опять же запрашиваешь страницу находишь там элемент с картинкой, скачиваешь её, готово.
можно даже не nodejs а http://phantomjs.org/ |
Ответ: Как загрузить все изображения с веб-сайта?
Цитата:
Распарсить на браузере, составить список ссылок на картинки. Далее скачать удобным способом (поюзать какой-нибудь менеджер загрузок) |
Ответ: Как загрузить все изображения с веб-сайта?
я написал что можно вместо nodejs phantomjs взять. это тот же браузер (webkit)
ни разу в браузере ничего не парсил (я на C# пишу), но разве браузер не будет загружать вместе со страницей картинки и выполнять скрипты ? если отменить это поведение в js нельзя, то это будет ощутимо медленнее чем просто стянуть html и распарсить его, к тому же в nodejs есть место для оптимизаций - например грузить много страниц одновременно заходя через разные прокси или при загрузке картинки оптимизировать ее (конвертнуть в png и пройтись по ней pngquant/optipng) и т.д.. |
Ответ: Как загрузить все изображения с веб-сайта?
Чего-то я посмотрел все это дело. Да, долго я буду вникать. PhantomJS вообще не смог поставить (так и не понял что за глобальные переменные там нужно редактировать).
Мне хотя бы что-то вроде этого сервиса нужно: http://backlinks-checker.dimax.biz/t...r_kartinok.php |
Ответ: Как загрузить все изображения с веб-сайта?
В общем, попробовал с помощью C# запарсить страницу и загрузить изображение. Все вроде бы грузится, да не все.
Что с Offline Explorer, что с самописными парсерами, почему-то, например, с этой страницы: http://www.onlinetrade.ru/catalogue/ip_telefoni-c517/ (на которой 46 товаров, а следовательно 46 картинок) Загружается только 5 картинок товара. Почему не загружаются остальные, вообще не понятно. |
Ответ: Как загрузить все изображения с веб-сайта?
Ну у варианта с js прямо в браузере есть важное преимущество: Document Object Model строит сам браузер, "переваривая" все нештатные ситуации (верстальщик Вася не закрыл тег — приехали), которые при ручном парсинге придётся предусматривать.
Если грузить ссылки через Ajax, будет грузиться только сама страница, без прилинкованного контента. |
Ответ: Как загрузить все изображения с веб-сайта?
Цитата:
к тому же парсер для C# htmlagilitypack учитывает такие ситуации, соответствующие модули для nodejs/других платформ тоже должны такое уметь |
Ответ: Как загрузить все изображения с веб-сайта?
Цитата:
PHP код:
|
Ответ: Как загрузить все изображения с веб-сайта?
Короче вариантов решений задачи в топике накидали уже вагон
|
Ответ: Как загрузить все изображения с веб-сайта?
Я решил на javascript в браузере писать. Спасибо за подсказки. Пойду копать документацию.
|
Часовой пояс GMT +4, время: 01:27. |
vBulletin® Version 3.6.5.
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Перевод: zCarot