|
Тема
|
Код на сайт
|
|
Автор | Haчuнaeщ (Нерегистриран) |
Публикувано | 16.01.12 22:00 |
|
делфи 7, WINXP+SP3
кодът е:
.....
type
TForm1 = class(TForm)
WebBrowser1: TWebBrowser;
procedure FormCreate(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
..
..
..
procedure TForm1.FormCreate(Sender: TObject);
begin
form1.WebBrowser1.Navigate('http:\\clubs.dir.bg');
end;
Сайтът е примерен. Отваря се сайтът и няма проблеми никакви. С десен бутон на мишлето - менюто и мога да видя кода на сайта.
Въпросът ми е:
Мога ли този код да го получа (във файл или мемо поле напр.), без да се налага да цъквам с мишлето.
Ако НЕ, тогава с кой друг обект мога да свърша тази работа?
Дано съм бил ясен при задаването на въпросът.
| |
|
Ако съм те разбрал правилно, това е което търсиш:
function GetHTML(WebBrowser: TWebBrowser): String;
var iall: IHTMLElement;
begin
Result := '';
if Assigned(WebBrowser.Document) then
begin
iall := (WebBrowser.Document AS IHTMLDocument2).body;
while iall.parentElement <> nil do
iall := iall.parentElement;
Result := iall.outerHTML;
end;
end;
Linux isn't free, it's worthless.
| |
Тема
|
Re: IHTMLElement.outerHTML
[re: andrew_nikoloff]
|
|
Автор | Haчuнaeщ (Нерегистриран) |
Публикувано | 17.01.12 15:56 |
|
благодаря много за съветът. При мене нещо не ще да става обаче. Нерви ми се на
IHTMLElement
Не го харесва тоа елемент. Цъкнах на хелпа на делфито - не ще да дава инфо. Гуглето ми дава подобни примерчета за С++ и Базиката....
Чудя се дали да не е нещо заради версията ми на делфи?
То съм и аз едно дърво.... направо се мразя!
| |
|
Не намира декларацията ли? Май mshtml трябваше да uses-неш...
Linux isn't free, it's worthless.
| |
Тема
|
Re: IHTMLElement.outerHTML
[re: andrew_nikoloff]
|
|
Автор | Haчuнaeщ (Нерегистриран) |
Публикувано | 17.01.12 18:11 |
|
Тъкмо се оправих и си писал. Благодаря ти отново. Дръпнах от сайта на М$ mshtml и юзнах и стана...
Само да напиша накратко за какво ми трябва кода:
Има няколко сайта с онлайн радиа/ТВ. И трябва с браузера да ги стартира,. Тенекето ми е слабичко, пък и понякога браузерът реве че няма тази или онази приставка... Та като си пусна програмчето, и ще мога после да ровя в кода и да търся нещо от сорта на:
"http://123.45.67.89:8012" (например)
след това да си го ръгна тва в един файл M3U файл и да си го пускам с плеъра без да ми требе квато и да е приставка/надстройка и т.н. простотия.
| |
Тема
|
Re: IHTMLElement.outerHTML
[re: Haчuнaeщ]
|
|
Автор |
Pechenia (нема лабаво ;-) |
Публикувано | 20.01.12 14:19 |
|
Принципно за достъп на DOM (в частност до html-а) може да се ползва:
WebBrowser1.Document.body.innerHTML
За твоята задача обаче е по-добре да се ползва това:
http://delphi.about.com/od/internetintranet/a/get_file_net.htm
Това разбира се е ако конкретната страница е линейна, т.е. не се зарежда с ajax/frames и т.н.
Принципно темата за крадене/парсване на интернет съдържание е дълга и дори интересна. Практически най-лесно съдържание се краде не с парсване на текст, а с ползване на DOM, т.е. с взимане на колекции и въобще с "javascript" техники: http://msdn.microsoft.com/en-us/library/system.windows.forms.htmldocument.getelementsbytagname.aspx
http://4develop.in/page/DelphiNetwork/20110613_14_f0b4e9ca-8e51-4758-9818-dc0d9e5e9b7d/DelphiWebBrowser%E6%89%93%E5%BC%80%E7%BD%91%E9%A1%B5%E9%97%AE%E9%A2%98.html
чети и дишай по-леко
| |
|
|
|
|