Pewnie i tak nikt mi nie pomoze, ale mimo wszsytko pisze ten temat, poniewaz od 2 dni szukam, googluje i kombinuje nie majac pojecia co moze byc zle. To sie po prostu filozofom nie snilo :)
Piszę program do obsługi tabel piłkarskich z serwisu fcstats.com.
Z Racji iz w stronie występuje javascript zamiast Indy czy Synapse zdecydowalem się na TWebBrowser
kod w Delphi:
WB.Navigate('http://fcstats.com/table,premier-league-england,1,1.php');
{poczekaj az zaladuje (onDocumentComplete)}
while not zaladowany do
Application.ProcessMessages;
zaladowany := false; // To rowniez do onDocumentComplete
sleep(5000); // na wszelki wypadek, aczkolwiek nie jest konieczne
kodHTML := WB.OleObject.Document.documentElement.innerHTML; // zapisanie kodu html
mDebug.Lines.Text := kodHTML; // wyswietlenie w Memo (kodHTML: String)
I teraz zaczyna się jazda bez trzymanki ktora filozofom sie śniła :D
w mDebug(memo) mam "zinterpretowany kod html". Przez slowo "zinterpretowany" mam na mysli iż wszelki kod w JavaScript zostal przetworzony do HTML.
Niestety w zmiennej kodHTML mam kod "niezinterpretowany", czyli to co bylo w javascript wyswietlane jest w formie: <script language=>....
Abyscie mnie lepiej zrozumieli opre to na przykladzie(oczywiscie wklejam fragmenty kodu, bo ktoby czytal to wszystko):
**1. **zmienna kodHTML
<SCRIPT type=text/javascript src="http://whos.amung.us/pingjs/?k=qfsqc6htg1s6&t=Table%20-%20Premier%20League%20(England)%20-%20Football%20stats%20-%20Football%20tables&c=s&y=&a=-1&r=9651" async="async"></SCRIPT>
2. zawartosc mDebug.lines.text
<td class="teamName">
<a href="club,statistics,liverpool,11.php">
Liverpool </a>
</td>
<td class="leftBorder">35</td>
<td>14</td>
<td>12</td>
<td>9</td>
<td>67</td>
<td>42</td>
<td class="leftBorder rightBorder darkBackground">54</td>
<td class="leftBorder leftText">
...
Dodam jeszcze ciekawa rzecz. Podgladajac w debugerze zawartosc
- kodHTML
- mDebug.Lines.Text
Mam zawartosc "niezinterpretowana", czyli ta ktora dalem w przykladzie 1. To naprawde dziwne, chyba Bill Gates nawet nie jak to mozliwe :) Bo przeciez w zawartosci mDebug w skompilowanym programie mam piekny przetworzony kod HTML ktory podalem w przykladzie 2
Dziwne, prawda?
Jak wiec mieć zawartosc kodu ktora jest w przykladzie 2 (zinterpretowana)?