
15.02.2009, 10:47
|
Прохожий
|
|
Регистрация: 15.02.2009
Сообщения: 1
Репутация: 10
|
|
Немного не в тему
Я делал парсинг через Indy.
Код:
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, IdBaseComponent, IdComponent, IdTCPConnection,
IdTCPClient, IdHTTP, IdCookieManager, ScktComp, ExtCtrls;
type
TForm1 = class(TForm)
IdHTTP1: TIdHTTP;
Label1: TLabel;
Timer1: TTimer;
Button1: TButton;
procedure FormCreate(Sender: TObject);
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure Timer1Timer(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
http:TidHttp;
CooM:TidCookieManager;
data:TStringList;
page1, name1:String;
implementation
{$R *.dfm}
procedure TForm1.FormCreate(Sender: TObject);
begin
data :=TStringList.Create;
http:=TIdHTTP.Create(Self);
http.AllowCookies:=true;
CooM:=TidCookieManager.Create(http);
http.CookieManager:=CooM;
http.HandleRedirects:=true;
end;
procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction);
begin
data.Free;
Coom.Free;
http.Free;
end;
procedure TForm1.Timer1Timer(Sender: TObject);
begin
name1:='';
page1 := http.Get('http://auction.ru/page.html');
// page1 := Utf8ToAnsi(page1); // это для перевода из utf-8 в windows-1251
// ищим нужную позицию в тексте, копируем цену и выводим на форму
name1:=copy(page1,Pos('<span class="text3">',page1)+length('<span class="text3">'),4);
Label1.Caption := name1;
Form1.Caption := name1;
end;
end.
|