Pobieranie zmiennych danych z internetu

libanczyk

Użytkownik
Dołączył
Czerwiec 28, 2006
Posty
17
Chodzi mi o takie cuś:
Jest sobie na ten przykład na jakiejś stronie w pewnym jej miejscu taka informacja: "Liczba zalogowanych użytkowników: 666". Jak taką informację ściagnąć 'do Delphi' jeżeli liczba tych użytkowników może się z każda sekundą zmienić? Oczywiście jestem zaopatrzony w Indy. Wiem jak ściagnąć źródło strony ale to mi nie daje za dużo do myślenia :X
 

amex

Użytkownik
Dołączył
Marzec 11, 2007
Posty
934
pobierz źródło strony, przejdź do "użytkowników:" i pobierz np 5 następnych znaków tylko wtedy na stronie jeśli jest 777 użytkowników to musi być np 777(spacja)(spacja)
 

T$cr!pt3r

Użytkownik
Dołączył
Lipiec 23, 2007
Posty
207
Jeśli strona jest twoja to spróbuj za pomocą PHP zapisać dane to pliku TXT i potem go za pomocą protokołu FTP pobrać.
 

libanczyk

Użytkownik
Dołączył
Czerwiec 28, 2006
Posty
17
No nie... strona nie jest moja :/

amex, a możesz troche bardziej językowo to opisać?
A konkretnie "przejdź do użytkowników: i pobierz np 5 następnych znaków". Bo fajnie brzmi a nie mam zielonego pojęcia jak to zrobić :/

[ Dodano: 25-08-2007, 17:18 ]
A kolejna sprawa... :/

Jak zamienić znaczek 'entera' (taki kwadracik, w memo wyglada jak slupek o_O) na zwykły enter, następną linie? Oczywiście w Delphi w Memo.
 

Legalnl

Użytkownik
Dołączył
Październik 8, 2008
Posty
828
prosta sprawa, pobierasz stronę poprzez TidHttp np to tstringlist.
Następnie piszesz pętle, która będzie przeszukiwać (Pos(); ) każdą linijkę w poszukiwaniu np " ilosc_userów:666" następnie kopiujesz tylko liczbę,

oczywiście poszukaj tekstu według swoich potrzeb, znajdz coś co stoi przed liczbą użytkowników, np text, który informuje co to la liczba itp. Podaj stronę to będzie mi łatwiej to opisać ;)
 

GabreHell

Użytkownik
Dołączył
Czerwiec 15, 2010
Posty
17
czyli np, tak
(programik po nacisnieciu buttona, pobiera sobie stronke wp.pl szuka na niej tekstu "Wtorek, 22 czerwca 2010, imieniny Pauliny, Tomasza" ktory poprzedza <div id="ngImieniny">, po czym wyszukuje sobie tylko date )
funkcja szukaj() do indywidualnej implementacji :p

Kod:
procedure TForm1.Button1Click(Sender: TObject);
var
  Response : TStringStream;
  url, res: string;
begin
  url := 'http://www.wp.pl';
  Response := TStringStream.Create('');
  try
    IdHTTP1.Get(url, Response);
    res := szukaj(Response.DataString);
  finally
    FreeAndNil(Response);
  end;
  ShowMessage('Dzis jest '+res);
end;

function TForm1.szukaj(www: String): String;
var p:integer;
  s:string;
begin
  //interesujacy mnie fragment strony:
  //                <div id="ngImieniny">
  //                      Wtorek, 22 czerwca 2010,  imieniny <a href="http://kartki.wp.pl">Pauliny,
  p:=pos('<div id="ngImieniny">',www);
  s:=Copy(www,p+46,50); //-> s:="Wtorek, 22 czerwca 2010,  imieniny <a href="http://kartki.wp.pl">Pauliny,
  p:=pos(',  ',s);
  s:=copy(s,0,p-1);          //-> s:="Wtorek, 22 czerwca 2010"
  Result:=s;
end;
 
Do góry Bottom