Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.10.31;
Скачать: CL | DM;

Вниз

Хитрый парсинг   Найти похожие ветки 

 
Checist [root]   (2004-10-18 12:10) [0]

И так. Имеем в WebBrowser загруженный html док, в котором 3-и картинки (jpg), с каждой картинки ссылки на разные ресурсы (jpg, mp3, exe). Необходимо произвести парсинг и в итоге получить, например: www.get.ru/1.jpg - www.soft.ru, www.get.ru/2.jpg - www.music.ru/muz.mp3, www.get.ru/3.jpg - www.photo.com/pict/1.bmp. Получить отдельно все адресса картинок и ссылки с них я могу, а как получить: адресс картинки - ссылку с нее. Дайте кусок сыра. Очень прошу.


 
KSergey ©   (2004-10-18 12:14) [1]

> Получить отдельно все адресса картинок и ссылки с них я
> могу, а как получить: адресс картинки - ссылку с нее.

Не понял... А это что?


 
KilkennyCat ©   (2004-10-18 12:15) [2]

дак елементарно:
предположим, в s1 - адрес картинки, а в s2 - адрес ссылки.
в итоге result := s1 + " - " + s2;


 
begin...end ©   (2004-10-18 12:17) [3]


> [1] KSergey ©   (18.10.04 12:14)

Картинка тоже может быть ссылкой.


 
Checist [root]   (2004-10-18 12:22) [4]

Если предположим с 1-ой картинки нет ссылки то получим несоответствие. То кесть иммем: 1 картинка - пусто, 2 - 1 ссылка, 3 - 2 сылка. А получим: 1 - 1 ссылка, 2 - 2, 3 - пусто. Так то!!!


 
KSergey ©   (2004-10-18 12:35) [5]

Аааа, вот про какие ссылки речь..
Ну а проблема-то в чем?
Только не понятно как вариант

> 3 - пусто

должен быть обыгран? Его не должно быть в списке? Или должно быть что-то - но что?

Если первое -

// sAHerf - строка со ссылкой
if sAHref <> EmptyStr then
  // выводим получившуюся пару как в [2]


 
Checist [root]   (2004-10-18 12:52) [6]

В этом и дело, как вытащить через WebBrowser.document... строки содержищие одновременно и картинку и ссылку с нее. Вообще как вытащить не весть документ, а отдельную строку...


 
easy ©   (2004-10-18 14:16) [7]

unit Unit1;

interface

uses
 Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
 Dialogs, StdCtrls, OleCtrls, SHDocVw;

type
 TForm1 = class(TForm)
   WebBrowser1: TWebBrowser;
   Memo1: TMemo;
   procedure FormCreate(Sender: TObject);
   procedure WebBrowser1DocumentComplete(Sender: TObject;
     const pDisp: IDispatch; var URL: OleVariant);
 private
   { Private declarations }
 public
   { Public declarations }
 end;

var
 Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.FormCreate(Sender: TObject);
begin
 with Memo1 do begin
   Clear;
   ScrollBars:=ssBoth;
   Align:=alBottom;
   Height:=300;
 end;
 with WebBrowser1 do begin
   Align:=alClient;
   Navigate("http://delphimaster.net/view/1-1098087032/");
 end;
end;

procedure TForm1.WebBrowser1DocumentComplete(Sender: TObject;
 const pDisp: IDispatch; var URL: OleVariant);
var
 Images:OleVariant;
 i:integer;
 href:string;
begin
 Images:=WebBrowser1.OleObject.document.all.tags("IMG");
 for i:=0 to Images.length-1 do begin
   if Images.item(i).parentElement.tagName="A" then
     href:=Images.item(i).parentElement.href else
     href:="Empty";
     Memo1.Lines.Add("IMG"+inttostr(i)+": src: ["+Images.item(i).src+"], href: ["+href+"]");
 end;
end;

end.


 
Checist [root]   (2004-10-18 16:04) [8]

Большое тебе человеческое спасибо easy!



Страницы: 1 вся ветка

Текущий архив: 2004.10.31;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.023 c
14-1097652544
Димитрий
2004-10-13 11:29
2004.10.31
Ищу простенький текстовый редактор на Delphi


9-1088195482
rs.falcon
2004-06-26 00:31
2004.10.31
Еще один 2D проект - римейк Doom2D


3-1096549267
Sid
2004-09-30 17:01
2004.10.31
BDE и локалка.


1-1098180690
Домовенок
2004-10-19 14:11
2004.10.31
Как сделать независимые формы?


9-1088678971
Proger
2004-07-01 14:49
2004.10.31
Загрузка растра