Android Web Site Tagları Arasından Veri Çekmek

FireMonkey ve Mobil uygulama (iOS, Android, Windows Phone) ile ilgili sorularınızı bu foruma sorabilirsiniz.
Cevapla
beklentili
Üye
Mesajlar: 86
Kayıt: 21 Ara 2013 09:05
İletişim:

Android Web Site Tagları Arasından Veri Çekmek

Mesaj gönderen beklentili »

<amv>
<tbody>

<td width="60%" valign="top" rowspan="2">
<img src="images/temalar/a/resim1.jpg">
<a href="?action=Read&hid=65">Kalecikliler Derneği Cemil Çiçek'i ziyaret etti</a>
<br>
<img src="images/temalar/a/resim2.jpg">
<a href="?action=Read&hid=64">10.Kalecik Karası Festivali Başlıyor</a>
<br>
<img src="images/temalar/a/resim3.jpg">
<a href="?action=Read&hid=63">Eşmedere'li Uzm.Çvş. Sadık Tuna Şehit Oldu</a>
<br>
</td>

</tbody>
</amv>

Saygı değer hocalarım web sitesinde yukarıdaki hmtl tagları içerisinde bulunan her "<img src=" ve "<a href=" tagları içersindeki verileri ANDROİD üzerinden çekip işlemek istiyorum. 3 gündür google üzerinde "Delphi HTML parse" sözcüğünü aratıyorum ama bir sonuca ulaşabilmiş değilim.

Bu taglar arasındaki verileri nasıl çekebilirim.
[/size]http://www.componentler.com | Türkçe component sitesi
Kullanıcı avatarı
AliZairov
Üye
Mesajlar: 341
Kayıt: 06 Nis 2012 03:09
Konum: Azerbaycan, Bakü
İletişim:

Re: Android Web Site Tagları Arasından Veri Çekmek

Mesaj gönderen AliZairov »

İyi akşamlar.

1) Parsing yapmak için ilk önce HTML hakkında bilgi sahibi olman lazım. En iyi kaynak bu http://www.w3schools.com/html/default.asp
2) Dediğin "<img src=" ve "<a href=" tagları içersindeki verileri parse yapman lazım tek veri olarak alırsın. Bunun için bu aradan seç fonksiyonu işini görür.

Kod: Tümünü seç

  function Parse(Source, Left, Right: string): string;
  begin
    Delete(Source, 1, Pos(Left, Source) + Length(Left) - 1);
    Result := Copy(Source, 1, Pos(Right, Source) - 1);
  end;

Örnek: Parse('*deneme*', '*', '*'); 2 yıldız arasındakı veriyi alır. 
3) Bu istediğin tağı parse yapa bildiğinden sonra bunu döngüye koyarak verilerde gezinerek parse yaptırıp memoya yazdıra bilirsin.
Örnek için böyle bir kod incelemen işini görür.

Kod: Tümünü seç

procedure AddList(Source: String);
var
  Temp, Value, URL: string;
begin
  Application.ProcessMessages;
  Value := 'class="copy" valign="top"><b><a href="';
  while Pos(Value, Source) > 0 do
  begin
    if Pos(Value, Source) > 0 then
    begin
      Delete(Source, 1, Pos(Value, Source) + Length(Value) - 1);
      Temp := '*' + Trim(Copy(Source, 1, Pos('</a>', Source) - 1)) + '*';
    end;
    with Main.List.Items.Add do
    begin
      Caption := Trim(Parse(Temp, '>', '*'));
      URL := Parse(Temp, '*', '>');
      URL := StringReplace(URL, '"', '', [rfReplaceAll, rfIgnoreCase]);
      SubItems.Add(Trim(URL));
    end;
  end;
end;
beklentili
Üye
Mesajlar: 86
Kayıt: 21 Ara 2013 09:05
İletişim:

Re: Android Web Site Tagları Arasından Veri Çekmek

Mesaj gönderen beklentili »

Hocam cevabınız için çok teşekkür ediyorum. İşime yaradı. :bravo:
[/size]http://www.componentler.com | Türkçe component sitesi
mab88
Üye
Mesajlar: 37
Kayıt: 01 Eki 2014 05:37

Re: Android Web Site Tagları Arasından Veri Çekmek

Mesaj gönderen mab88 »

Fmx webbrowserindan html texti nasil alabiliyoruz da ben alamamistim
beklentili
Üye
Mesajlar: 86
Kayıt: 21 Ara 2013 09:05
İletişim:

Re: Android Web Site Tagları Arasından Veri Çekmek

Mesaj gönderen beklentili »

Burada viewtopic.php?f=36&t=33409 bu konu açıklığa kavuşmaya çalışıyor. Aradığınız buysa, buradan takip edebilirsiniz.
[/size]http://www.componentler.com | Türkçe component sitesi
Cevapla