![]() |
|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
![]() |
|
Опции темы | Поиск в этой теме | Опции просмотра |
#1
|
|||
|
|||
![]() Туплю страшно. Подскажите.
Пишу автоматический регер одного небольшого сервиса. Всё хорошо пишется до капчи. На одном из этапов, передаю POST запрос одной странице, в ответ мне отдают страницу со следующей по счёту формой. На этой странице есть изображение капчи, которое мне нужно скачать в папку с моей программой. Картинка всегда находится по адресу: http://site.com/token.php?bla=$k Код:
text:=HTTP.Post('http://site.com/index.php?site=site',data); В text у меня находится код страницы. В ней есть строчка: <img src="token.php?bla=$k"> - вывод картинки в png. Как мне сохранить её к себе? Именно текущую картинку? Естественно, что если обращаться отдельно к http://site.com/token.php?bla=$k картинка капчи будет другая. С распознавание капчи через сервис уже разобрался. |
#2
|
|||
|
|||
![]() А гугл просто открывался...
![]() Код:
procedure TForm3.Button1Click(Sender: TObject); var List: TStringList; R: TRegExp; mc: MatchCollection; m: Match; sm: SubMatches; Stream: TMemoryStream; JPEG: TJPEGImage; begin List:=TStringList.Create; List.Text:=IdHTTP1.Get('http://webmaster.yandex.ru/');//получаем содержимое страницы в переменную R:=TRegExp.Create(self); R.Pattern:='src="(.*?key.*?)"'; //регулярное выражение для поиска Captcha R.Multiline:=true; R.IgnoreCase:=true; R.Global:=true; mc := R.Execute(List.Text) as MatchCollection; if mc.Count > 0 then //нашли совпадение begin m:= mc[0] as Match; sm:= m.SubMatches as SubMatches; Stream:=TMemoryStream.Create; IdHTTP1.Get(sm[0],Stream); //грузим капчу в поток. Stream.Position:=0; //устанавливаем ОБЯЗАТЕЛЬНО на ноль JPEG:=TJPEGImage.Create; //создаем jpeg JPEG.LoadFromStream(Stream);//загружаем данные из потока Image1.Picture.Assign(JPEG);//выводим в Image end; end; Closed. |
#3
|
||||
|
||||
![]() Цитата:
![]() Оставайтесь хорошими людьми... VK id2634397, ds [at] phoenix [dot] dj |