Модераторы: Snowy, Poseidon, MetalFan
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Граббер картинок 
:(
    Опции темы
crazynetwork
Дата 23.6.2010, 23:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 58
Регистрация: 16.10.2009

Репутация: нет
Всего: нет



Добрый день. Необходимо написать граббер картинок с интернет магазина. У кого какие есть идеи?
PM MAIL   Вверх
Данкинг
Дата 24.6.2010, 00:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Yersinia pestis
****


Профиль
Группа: Завсегдатай
Сообщений: 8302
Регистрация: 7.11.2006
Где: მოსკოვი

Репутация: 1
Всего: 130



Грузить страницу в браузер и оттуда грабить.


--------------------
There's nothing left but silent epitaphs.
PM MAIL WWW   Вверх
crazynetwork
Дата 24.6.2010, 00:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 58
Регистрация: 16.10.2009

Репутация: нет
Всего: нет



Цитата(Данкинг @ 24.6.2010,  00:00)
Грузить страницу в браузер и оттуда грабить.

Страницу в браузере грузим. Вопрос в том как дальше грабить картинки?

http://shop.cn.km.ua вот ссылочка откуда надо грабить. Может есть у кого примерчик?
PM MAIL   Вверх
Данкинг
Дата 24.6.2010, 01:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Yersinia pestis
****


Профиль
Группа: Завсегдатай
Сообщений: 8302
Регистрация: 7.11.2006
Где: მოსკოვი

Репутация: 1
Всего: 130



Сохранение картинок из браузера - был пример в ДРКБ. Примерно так:
Код

 function DownloadFile(SourceFile, DestFile: string): Boolean; 
begin 
  try
    Result := UrlDownloadToFile(nil, PChar(SourceFile), PChar(DestFile), 0, 
      nil) = 0;
  except 
    Result := False; 
  end; 
end;


procedure TForm1.SpeedButton1Click(Sender: TObject);

var
  k, p: Integer; 
  Source, dest, ext: string;
begin
try
  for k := 0 to WebBrowser1.OleObject.Document.Images.Length - 1 do
  begin
    Source := WebBrowser1.OleObject.Document.Images.Item(k).Src;
    p := LastDelimiter('.', Source);
    ext := UpperCase(Copy(Source, p + 1, Length(Source)));
    if (ext = 'GIF') or (ext = 'JPG') or (ext = 'PNG') then
    begin
      p  := LastDelimiter('/', Source);
      dest := ExtractFilePath(ParamStr(0)) + Copy(Source, p + 1,   Length(Source));
    dest:=DirectoryListBox1.Directory+'\'+extractfilename(dest);
    DownloadFile(Source, dest);
    end;
  end;
MessageDlg ('Сохранено!',mtinformation,[mbyes],0);
except
showmessage ('Нет загруженной страницы!');
end;

end;




--------------------
There's nothing left but silent epitaphs.
PM MAIL WWW   Вверх
v1m
Дата 24.6.2010, 10:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


v1mka



Профиль
Группа: Участник
Сообщений: 15
Регистрация: 10.6.2010

Репутация: нет
Всего: 1



можно парсером еще) имхо
PM MAIL   Вверх
crazynetwork
Дата 25.6.2010, 23:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 58
Регистрация: 16.10.2009

Репутация: нет
Всего: нет



Цитата(Данкинг @ 24.6.2010,  01:53)
Сохранение картинок из браузера - был пример в ДРКБ. Примерно так:
Код

 function DownloadFile(SourceFile, DestFile: string): Boolean; 
begin 
  try
    Result := UrlDownloadToFile(nil, PChar(SourceFile), PChar(DestFile), 0, 
      nil) = 0;
  except 
    Result := False; 
  end; 
end;


procedure TForm1.SpeedButton1Click(Sender: TObject);

var
  k, p: Integer; 
  Source, dest, ext: string;
begin
try
  for k := 0 to WebBrowser1.OleObject.Document.Images.Length - 1 do
  begin
    Source := WebBrowser1.OleObject.Document.Images.Item(k).Src;
    p := LastDelimiter('.', Source);
    ext := UpperCase(Copy(Source, p + 1, Length(Source)));
    if (ext = 'GIF') or (ext = 'JPG') or (ext = 'PNG') then
    begin
      p  := LastDelimiter('/', Source);
      dest := ExtractFilePath(ParamStr(0)) + Copy(Source, p + 1,   Length(Source));
    dest:=DirectoryListBox1.Directory+'\'+extractfilename(dest);
    DownloadFile(Source, dest);
    end;
  end;
MessageDlg ('Сохранено!',mtinformation,[mbyes],0);
except
showmessage ('Нет загруженной страницы!');
end;

end;


Где описана UrlDownloadToFile, подскажите ?
PM MAIL   Вверх
Данкинг
Дата 25.6.2010, 23:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Yersinia pestis
****


Профиль
Группа: Завсегдатай
Сообщений: 8302
Регистрация: 7.11.2006
Где: მოსკოვი

Репутация: 1
Всего: 130



Цитата(crazynetwork @  26.6.2010,  00:31 Найти цитируемый пост)
Где описана UrlDownloadToFile, подскажите ? 

urlmon или wininet  smile 


--------------------
There's nothing left but silent epitaphs.
PM MAIL WWW   Вверх
crazynetwork
Дата 29.6.2010, 00:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 58
Регистрация: 16.10.2009

Репутация: нет
Всего: нет



Работает если прямая ссылка на картинку, а если сылка вида: http://shop.cn.km.ua/index.php/photo/%20%2011WPSRV/1/0
Как быть в таком случае?
PM MAIL   Вверх
casinosoftguru
Дата 5.7.2010, 15:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 138
Регистрация: 22.12.2008

Репутация: нет
Всего: нет



можно через оле выдрать прямые адреса картинок имхо

Код

WebBrowser.OleObject.Document.Images

Массив изображений, содержащихся в документе..Length    Возвращает количество изображений в документе.
.Item(0)    Возвращает первое изображение.
.Item(0).Src    URL первого изображения.


через item(X).src получишь что-то типа http://shop.cn.km.ua/get_image.php?type=6&...WPSRV&num=0

подробнее можно тут почитать oleobject
PM MAIL   Вверх
ZaDoXliK
Дата 14.7.2010, 06:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 23
Регистрация: 1.12.2007
Где: Украина

Репутация: нет
Всего: нет



Если картинок не много нужно, вытяни в ручную.
Да... и зачем тебе картинки с пометкой на чужой сайт? или ты еще их в фотошопе решил отредактить все?

Загружаешь страницу, делаешь в ней поиск кавычки и проверяешь, являются ли следующие 26 символов вот этой строкой /get_image.php?type=2&src=, если да то копируешь весь остальной текст до кавычки (") . Так ты получишь ссыль. При скачивании добавь 1 переменную в месте ...type=2, поставишь 1 и будем маленькое изображение.
Так обычно капчу достают...

Надеюсь хоть как то помог...

Это сообщение отредактировал(а) ZaDoXliK - 14.7.2010, 06:32
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Сети"
Snowy
Poseidon
MetalFan

Запрещено:

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делится вскрытыми компонентами

  • Литературу по Дельфи обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи

Если Вам помогли и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, Snowy, Poseidon, MetalFan.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Delphi: Сети | Следующая тема »


 




[ Время генерации скрипта: 0.0804 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.