PDA

View Full Version : ذخیره کردن اینترنت اکسپلورر



olkamiz
یک شنبه 15 شهریور 1388, 08:43 صبح
من می خواهم وقتی ie باز است برنامه ام را اجرا کنم و handle اینترنت اکسپلورر را بگیرم و محتوای html آن را ذخیره کنم این کار را چطور انجام دهم؟
به طور دقیق تر اینکه من بعد از طی چند صفحه از یک سایت به یک نتیجه می رسم .حال می خواهم این نتیجه را از صفحه وب استخراج کرده و آن را در دیتابیس ذخیره کنم.من نمی توانم از کامپوننت webbrowser استفاده کنم (مگر اینکه این امکان وجود داشته باشد که handle اینترنت اکسپلور اجرا شده را به این کامپوننت نسبت دهیم)چون به صفحه ای که من می خواهم روی آن عملیات انجام دهم نمی توان با navigate کردن url مستقیما رسید و باید مراحل طی شود.
حال فرض می کنم نتیجه حاضر است و از آن می خواهم نتیجه را استخراج کنم. برای این کار به html این صفحه نیاز دارم. کاری که به نظر خودم رسید ذخیره کردن این html در فایل است و جستجوی آن. شاید بشود بدون ذخیره کردن هم به نتیجه رسید.

----------- یک کد وجود داره که تقریبا کار می کنه ولی نیاز به navigate داره و باید ie رو از برنامه صدا زد درحالی که نتیجه در ie من قبل از اجرای برنامه حاضر می باشد و باید handle اینترنت اکسپلورر گرفته شود و روی html ان کار شود




procedure OpenIE(aURL: string);
var
IE,CO: Variant;
WinHanlde: HWnd;
begin
if (VarIsEmpty(IE)) then
begin
IE := CreateOleObject('InternetExplorer.Application');
IE.Visible := True;
IE.Navigate(aURL);
sleep(5000);
IE.ExecWB(4,2,'c:\baidu4.htm','');

end
else
begin
WinHanlde := FindWindow('IEFrame', nil);
if (0 <> WinHanlde) then
begin
IE.Navigate(aURL);
SetForegroundWindow(WinHanlde);
end
else
ShowMessage('Can''t open IE !');
end;
end;
procedure TForm1.Button1Click(Sender: TObject);
begin
OPENIE('WWW.GOOGLE.COM');
end;



کسی هست به من کمک کنه؟ دلفی یا ویژال بیسیک فرقی نمی کنه