Извините, ничего не найдено.

Не расстраивайся! Лучше выпей чайку!
Регистрация
Справка
Календарь

Вернуться   forum.boolean.name > Общие темы > Болтовня

Болтовня Разговоры на любые темы (думайте, о чем пишите)

Ответ
 
Опции темы
Старый 20.12.2015, 03:43   #1
Program23
Бывалый
 
Аватар для Program23
 
Регистрация: 26.04.2009
Адрес: Россия, Уфа
Сообщений: 680
Написано 182 полезных сообщений
(для 406 пользователей)
Как загрузить все изображения с веб-сайта?

Привет, булчане!

У меня есть задача:
Загрузить изображения товаров с этого веб-сайта: 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 тысяч картинок.

Что посоветуете?
__________________
Фриланс:
Freelancer.com
Upwork
(Offline)
 
Ответить с цитированием
Старый 20.12.2015, 04:04   #2
h1dd3n
Бывалый
 
Аватар для h1dd3n
 
Регистрация: 19.06.2008
Сообщений: 679
Написано 264 полезных сообщений
(для 450 пользователей)
Ответ: Как загрузить все изображения с веб-сайта?

Сам скрипт напиши, там же ничего сложного. Получить список всех разделов (рекурсивно, если там дерево), далее по каждому разделу все товары и по картинке к каждому товару.
__________________
(Offline)
 
Ответить с цитированием
Старый 20.12.2015, 04:09   #3
Program23
Бывалый
 
Аватар для Program23
 
Регистрация: 26.04.2009
Адрес: Россия, Уфа
Сообщений: 680
Написано 182 полезных сообщений
(для 406 пользователей)
Ответ: Как загрузить все изображения с веб-сайта?

Сообщение от h1dd3n Посмотреть сообщение
Сам скрипт напиши, там же ничего сложного. Получить список всех разделов (рекурсивно, если там дерево), далее по каждому разделу все товары и по картинке к каждому товару.
Вообще не представляю с чего начать.
__________________
Фриланс:
Freelancer.com
Upwork
(Offline)
 
Ответить с цитированием
Старый 20.12.2015, 05:08   #4
h1dd3n
Бывалый
 
Аватар для h1dd3n
 
Регистрация: 19.06.2008
Сообщений: 679
Написано 264 полезных сообщений
(для 450 пользователей)
Ответ: Как загрузить все изображения с веб-сайта?

А какой язык программирования тебе ближе всего ?
__________________
(Offline)
 
Ответить с цитированием
Старый 20.12.2015, 05:57   #5
Program23
Бывалый
 
Аватар для Program23
 
Регистрация: 26.04.2009
Адрес: Россия, Уфа
Сообщений: 680
Написано 182 полезных сообщений
(для 406 пользователей)
Ответ: Как загрузить все изображения с веб-сайта?

Сообщение от h1dd3n Посмотреть сообщение
А какой язык программирования тебе ближе всего ?
Javascript, Php
__________________
Фриланс:
Freelancer.com
Upwork
(Offline)
 
Ответить с цитированием
Старый 20.12.2015, 06:13   #6
h1dd3n
Бывалый
 
Аватар для h1dd3n
 
Регистрация: 19.06.2008
Сообщений: 679
Написано 264 полезных сообщений
(для 450 пользователей)
Ответ: Как загрузить все изображения с веб-сайта?

ну тогда возьми nodejs скачай страницу, распарси (наверняка библиотека/модуль для этого уже написаны), далее составь список всех разделов, для каждого раздела получи список товаров (также запрашивая страницу и парся её), далее для каждого товара опять же запрашиваешь страницу находишь там элемент с картинкой, скачиваешь её, готово.

можно даже не nodejs а http://phantomjs.org/
__________________
(Offline)
 
Ответить с цитированием
Сообщение было полезно следующим пользователям:
Program23 (20.12.2015)
Старый 20.12.2015, 06:27   #7
ABTOMAT
Ференька
 
Аватар для ABTOMAT
 
Регистрация: 26.01.2007
Адрес: улица Пушкина дом Колотушкина
Сообщений: 10,741
Написано 5,461 полезных сообщений
(для 15,675 пользователей)
Ответ: Как загрузить все изображения с веб-сайта?

Сообщение от h1dd3n Посмотреть сообщение
nodejs
Чем джаваскрипт прямо в браузере не угодил?
Распарсить на браузере, составить список ссылок на картинки.
Далее скачать удобным способом (поюзать какой-нибудь менеджер загрузок)
__________________
Мои проекты:
Анальное Рабство
Зелёный Слоник
Дмитрий Маслов*
Различие**
Клюква**

* — в стадии разработки
** — в стадии проектирования
Для проектов в стадии проектирования приведены кодовые имена

(Offline)
 
Ответить с цитированием
Сообщение было полезно следующим пользователям:
Program23 (20.12.2015)
Старый 20.12.2015, 06:48   #8
h1dd3n
Бывалый
 
Аватар для h1dd3n
 
Регистрация: 19.06.2008
Сообщений: 679
Написано 264 полезных сообщений
(для 450 пользователей)
Ответ: Как загрузить все изображения с веб-сайта?

я написал что можно вместо nodejs phantomjs взять. это тот же браузер (webkit)
ни разу в браузере ничего не парсил (я на C# пишу), но разве браузер не будет загружать вместе со страницей картинки и выполнять скрипты ? если отменить это поведение в js нельзя, то это будет ощутимо медленнее чем просто стянуть html и распарсить его, к тому же в nodejs есть место для оптимизаций - например грузить много страниц одновременно заходя через разные прокси или при загрузке картинки оптимизировать ее (конвертнуть в png и пройтись по ней pngquant/optipng) и т.д..
__________________
(Offline)
 
Ответить с цитированием
Сообщение было полезно следующим пользователям:
Program23 (20.12.2015)
Старый 20.12.2015, 07:46   #9
Program23
Бывалый
 
Аватар для Program23
 
Регистрация: 26.04.2009
Адрес: Россия, Уфа
Сообщений: 680
Написано 182 полезных сообщений
(для 406 пользователей)
Ответ: Как загрузить все изображения с веб-сайта?

Чего-то я посмотрел все это дело. Да, долго я буду вникать. PhantomJS вообще не смог поставить (так и не понял что за глобальные переменные там нужно редактировать).

Мне хотя бы что-то вроде этого сервиса нужно:
http://backlinks-checker.dimax.biz/t...r_kartinok.php
__________________
Фриланс:
Freelancer.com
Upwork
(Offline)
 
Ответить с цитированием
Старый 20.12.2015, 12:40   #10
Program23
Бывалый
 
Аватар для Program23
 
Регистрация: 26.04.2009
Адрес: Россия, Уфа
Сообщений: 680
Написано 182 полезных сообщений
(для 406 пользователей)
Ответ: Как загрузить все изображения с веб-сайта?

В общем, попробовал с помощью C# запарсить страницу и загрузить изображение. Все вроде бы грузится, да не все.
Что с Offline Explorer, что с самописными парсерами, почему-то, например, с этой страницы:
http://www.onlinetrade.ru/catalogue/ip_telefoni-c517/
(на которой 46 товаров, а следовательно 46 картинок)
Загружается только 5 картинок товара. Почему не загружаются остальные, вообще не понятно.
__________________
Фриланс:
Freelancer.com
Upwork
(Offline)
 
Ответить с цитированием
Старый 20.12.2015, 14:23   #11
ABTOMAT
Ференька
 
Аватар для ABTOMAT
 
Регистрация: 26.01.2007
Адрес: улица Пушкина дом Колотушкина
Сообщений: 10,741
Написано 5,461 полезных сообщений
(для 15,675 пользователей)
Ответ: Как загрузить все изображения с веб-сайта?

Ну у варианта с js прямо в браузере есть важное преимущество: Document Object Model строит сам браузер, "переваривая" все нештатные ситуации (верстальщик Вася не закрыл тег — приехали), которые при ручном парсинге придётся предусматривать.
Если грузить ссылки через Ajax, будет грузиться только сама страница, без прилинкованного контента.
__________________
Мои проекты:
Анальное Рабство
Зелёный Слоник
Дмитрий Маслов*
Различие**
Клюква**

* — в стадии разработки
** — в стадии проектирования
Для проектов в стадии проектирования приведены кодовые имена

(Offline)
 
Ответить с цитированием
Эти 3 пользователя(ей) сказали Спасибо ABTOMAT за это полезное сообщение:
Andvrok (20.12.2015), Program23 (21.12.2015), St_AnGer (20.12.2015)
Старый 20.12.2015, 19:06   #12
h1dd3n
Бывалый
 
Аватар для h1dd3n
 
Регистрация: 19.06.2008
Сообщений: 679
Написано 264 полезных сообщений
(для 450 пользователей)
Ответ: Как загрузить все изображения с веб-сайта?

Сообщение от ABTOMAT Посмотреть сообщение
Ну у варианта с js прямо в браузере есть важное преимущество: Document Object Model строит сам браузер, "переваривая" все нештатные ситуации (верстальщик Вася не закрыл тег — приехали), которые при ручном парсинге придётся предусматривать.
Если грузить ссылки через Ajax, будет грузиться только сама страница, без прилинкованного контента.
phantomjs делает тоже самое, я же написал что это фактически браузер.
к тому же парсер для C# htmlagilitypack учитывает такие ситуации, соответствующие модули для nodejs/других платформ тоже должны такое уметь
__________________
(Offline)
 
Ответить с цитированием
Сообщение было полезно следующим пользователям:
Program23 (21.12.2015)
Старый 20.12.2015, 19:42   #13
Randomize
[object Object]
 
Аватар для Randomize
 
Регистрация: 01.08.2008
Адрес: В России
Сообщений: 4,355
Написано 2,471 полезных сообщений
(для 6,852 пользователей)
Ответ: Как загрузить все изображения с веб-сайта?

Сообщение от Program23 Посмотреть сообщение
Javascript, Php
PhpQuery? (Если знаком с селекторами, jQuery и умеешь в curl)
<?php

error_reporting
(E_ALL);
ini_set('display_errors''On');
ini_set('display_startup_errors''On');
ini_set('error_reporting''-1');
ini_set('log_errors''On');

include 
'phpQuery-onefile.php';

$ch curl_init();
curl_setopt($chCURLOPT_URL'http://boolean.name/');
curl_setopt($chCURLOPT_RETURNTRANSFERtrue);
curl_setopt($chCURLOPT_FOLLOWLOCATIONtrue);
$html curl_exec($ch);
curl_close($ch);

$doc phpQuery::newDocument($html);
$stats = array();

foreach (
$doc['table tr td div a strong'] as $theme) {
    echo 
pq($theme)->html() . '<br />';
}
__________________
Retry, Abort, Ignore? █
Intel Core i7-9700 4.70 Ghz; 64Gb; Nvidia RTX 3070
AMD Ryzen 7 3800X 4.3Ghz; 64Gb; Nvidia 1070Ti
AMD Ryzen 7 1700X 3.4Ghz; 8Gb; AMD RX 570
AMD Athlon II 2.6Ghz; 8Gb; Nvidia GTX 750 Ti
(Online)
 
Ответить с цитированием
Сообщение было полезно следующим пользователям:
Program23 (21.12.2015)
Старый 21.12.2015, 05:43   #14
ABTOMAT
Ференька
 
Аватар для ABTOMAT
 
Регистрация: 26.01.2007
Адрес: улица Пушкина дом Колотушкина
Сообщений: 10,741
Написано 5,461 полезных сообщений
(для 15,675 пользователей)
Ответ: Как загрузить все изображения с веб-сайта?

Короче вариантов решений задачи в топике накидали уже вагон
__________________
Мои проекты:
Анальное Рабство
Зелёный Слоник
Дмитрий Маслов*
Различие**
Клюква**

* — в стадии разработки
** — в стадии проектирования
Для проектов в стадии проектирования приведены кодовые имена

(Offline)
 
Ответить с цитированием
Сообщение было полезно следующим пользователям:
Program23 (21.12.2015)
Старый 21.12.2015, 07:16   #15
Program23
Бывалый
 
Аватар для Program23
 
Регистрация: 26.04.2009
Адрес: Россия, Уфа
Сообщений: 680
Написано 182 полезных сообщений
(для 406 пользователей)
Ответ: Как загрузить все изображения с веб-сайта?

Я решил на javascript в браузере писать. Спасибо за подсказки. Пойду копать документацию.
__________________
Фриланс:
Freelancer.com
Upwork
(Offline)
 
Ответить с цитированием
Ответ


Опции темы

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


Часовой пояс GMT +4, время: 09:22.


vBulletin® Version 3.6.5.
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Перевод: zCarot
Style crйe par Allan - vBulletin-Ressources.com