Konuyu Oyla:
  • Derecelendirme: 0/5 - 0 oy
  • 1
  • 2
  • 3
  • 4
  • 5
Delphi siteye yorum
#1
http://www.delphican.com/wordpress-delph...html+parse
konumla alakalı wordpress sitelere yorum eklemek için bir program hazırlamak istiyorum bu konuda yardımcı olabilir misiniz


wordpress site için id leri kontrol ettim ; author , email , url , comment ve submit .
ilk 4üne editten yazı ekleyip submit etmem gerekiyor
WWW
Cevapla
#2
Buyrun;


WebBrowser1.Silent := True;
WebBrowser1.Navigate('https://www.oyunkabini.com/battlefield-v-ilk-fragmanini-yayinladi-ve-daha-fazlasi-dlc-premium-passes/');

While WebBrowser1.ReadyState <> READYSTATE_COMPLETE do Application.ProcessMessages;
WebBrowser1.OleObject.Document.GetElementByID('comment').Click;
WebBrowser1.OleObject.Document.GetElementByID('comment').Value := 'Deneme yorum!';
WebBrowser1.OleObject.Document.GetElementByID('author').Click;
WebBrowser1.OleObject.Document.GetElementByID('author').Value := 'hyperxman';
WebBrowser1.OleObject.Document.GetElementByID('email').Click;
WebBrowser1.OleObject.Document.GetElementByID('email').Value := 'example@gmail.com';
WebBrowser1.OleObject.Document.GetElementByID('submit').Click;


Bunu da bu işlemler bittikten sonra son hamle ile yaparsın, iki defa yapmanın sebebi webbrowser ilk olarak algılamıyor ikinci clik serüveninde anlıyor;

 WebBrowser1.OleObject.Document.GetElementByID('submit').Click;



NOT: Siteniz beni spam algılamış olabilir kusura bakmayacaksınız artık Sad


Edit: @"Paranoyaq" sadece forma WebBrowser ekle.

Özel mesaj yerine burayı tercih ediyorum çünkü senin gibi başka kişilerde yararlansın diye Smile
kisisel_logo_dark.png
WWW
Cevapla
#3
teşekkürler bilgilendirme için.
Cevapla
#4
Bir fikir ve önerim olacak; 

- WebBrowser ile erişim ve Get/Post işlemi yaptığınızda Web Site Render süresi kadar trafik yaşattığından işlemleri yavaşlatıcı bir çok unsur karşımıza çıkar.

- Indy veya HttpRequest ile işlemi yürütürseniz işlem süper hızlı olacaktır. Çünkü site resimleri, sayfa içi javascript vs. bunlar tetiklenmeyecek işlem hızlanacaktır.

- Ayrıca Wordpress tipi blog/siteler RSS Feed barındırır. Bunu hız kazandırıcı unsur olarak kullanın.

Örnek bir proje hazırladım, kaynak kodları koymadım. 
Ezbere yürümeyin diye böyle yaptım. 

Yukarıdaki kısma dilediğiniz wordpress sitesini yazın bir problemle karşılaşmazsınız. 

qfgdolgemelz6adrejq4.png

WordPress_CommentBot.rar -  1.4 MB
Başarılar.
Saygılarımla
Muharrem ARMAN

guplouajuixjzfm15eqb.gif
Cevapla
#5
(29-05-2018, Saat: 14:45)mrmarman Adlı Kullanıcıdan Alıntı: Bir fikir ve önerim olacak; 

- WebBrowser ile erişim ve Get/Post işlemi yaptığınızda Web Site Render süresi kadar trafik yaşattığından işlemleri yavaşlatıcı bir çok unsur karşımıza çıkar.

- Indy veya HttpRequest ile işlemi yürütürseniz işlem süper hızlı olacaktır. Çünkü site resimleri, sayfa içi javascript vs. bunlar tetiklenmeyecek işlem hızlanacaktır.

- Ayrıca Wordpress tipi blog/siteler RSS Feed barındırır. Bunu hız kazandırıcı unsur olarak kullanın.

Örnek bir proje hazırladım, kaynak kodları koymadım. 
Ezbere yürümeyin diye böyle yaptım. 

Yukarıdaki kısma dilediğiniz wordpress sitesini yazın bir problemle karşılaşmazsınız. 

qfgdolgemelz6adrejq4.png

WordPress_CommentBot.rar -  1.4 MB
Başarılar.

Yararlı paylaşımlarınızdan ötürü çok teşekkürler
WWW
Cevapla
#6
Merhaba

Wordpress ve Joomla ile oldukça fazla tecrübem oldu. Delphi ile benzer otomasyon çözümleri de çalıştım  Bazılarını paylaşayım. 

Wordpress RSS feed için kullanılan link

https://www.oyunkabini.com/feed/

Her wordpress sürümü için aynı değil ancak wordpress tasarımcıları bir ortak payda sundular. 

Versiyona göre uygun RSS linkini tespit eden joker link aşağıdaki şekilde. 

https://www.oyunkabini.com/?feed=rss

Bu kilit yapıyı baz alırsanız her versiyon wordpress için de tek kod ile ulaşma imkanınız olur. 

Zaten örnek projeyi de bu yapı temelli olarak paylaştım. 
Şimdi kolları sıvama vaktidir.  Smile
Saygılarımla
Muharrem ARMAN

guplouajuixjzfm15eqb.gif
Cevapla
#7
(29-05-2018, Saat: 22:29)mrmarman Adlı Kullanıcıdan Alıntı: Merhaba

Wordpress ve Joomla ile oldukça fazla tecrübem oldu. Delphi ile benzer otomasyon çözümleri de çalıştım  Bazılarını paylaşayım. 

Wordpress RSS feed için kullanılan link

https://www.oyunkabini.com/feed/

Her wordpress sürümü için aynı değil ancak wordpress tasarımcıları bir ortak payda sundular. 

Versiyona göre uygun RSS linkini tespit eden joker link aşağıdaki şekilde. 

https://www.oyunkabini.com/?feed=rss

Bu kilit yapıyı baz alırsanız her versiyon wordpress için de tek kod ile ulaşma imkanınız olur. 

Zaten örnek projeyi de bu yapı temelli olarak paylaştım. 
Şimdi kolları sıvama vaktidir.  Smile

Hocam yanlış yorumlamadıysam eğer, sizin projede ilk olarak https://www.oyunkabini.com/?feed=rss linkinden gelen sonuç değeri kontrol ediliyor 200 den farklı bir değer gelir ise yada boş değer dönerse https://www.oyunkabini.com/feed/ linki kontrol ediliyor.Sonuç OK ise daha sonrasında gelen "response Content"  içeriğinde itemler arasındaki verileri <title> ve <link> değerlerini  alarak ListBoxlara ekleme yapılıyor.

Gönderme kısmı içinde ise ilgili sayfa(Yorum gönderilecek sayfa) çağırılarak,sayfa içeriğinde 2 değer alınması gerekiyor "comment_parent" ve "comment_parent_ID". Bu değerler İsim,mail ve yorumla birlikte göndermemiz gereken parametre verilerini veriyor.

Post işlemini yapacağımız adre ise https://www.oyunkabini.com/wp-comments-post.php

Tüm bu bilgilere(parametre bilgileri) aşağıdaki gibi browser üzerinden Yorum Gönder kısmına sağ klik yaparak açılan pencereden, öğeyi incele dediğimizde görüntüleniyor.
urlpost.png
Cevapla
#8
Smile @"Cyber"
Üstadım süpersin bu kadar güzel anlatılır.
Sadece tek düzeltme, 200' den başka değer dönerse ya wordpress değil ya da sorun var demektir. 

Joker link browse edildiğinde olması gereken linke otomatikman evriliyor. 

Hani INDY kullanırken HandleRedirect TRUE ise otomatik geçiyor demek istedim.

Bravo. Rolleyes
Saygılarımla
Muharrem ARMAN

guplouajuixjzfm15eqb.gif
Cevapla
#9
Sizin söylediğiniz evrilme olayını fark etrim hocam, ilgili site için 301 hata kodunu veriyor. Yanlış yorumlamadıysam 301 açılımda aslında tam bir hata olmadığı bağlantı linki üzerinde değişiklik olduğu bilgisi veriliyor.
RSS içermeyen sitelerde deneyip sonucu gördüm birden fazla ve farklı veri/sayfa dönüşleri oluyor.
Bende sayenizde birşeyler öğrenmiş oldum hocam, hiçbir konu önemsiz değildir.
Cevapla
#10
function DoLogin(const username,email,url,comment: string): string;
var
IdHTTP: TIdHTTP;
Request: TStringList;
begin
try
  Request := TStringList.Create;
  try
    Request.Add('action=do_login');
    Request.Add('url=https://www.oyunkabini.com/battlefield-v-ilk-fragmanini-yayinladi-ve-daha-fazlasi-dlc-premium-passes/');
    Request.Add('submit=727');
    Request.Add('author'+username);
    Request.Add('email='+email);
    Request.Add('url='+url);
    Request.Add('comment='+comment);
    Request.Add('submit');
    IdHTTP := TIdHTTP.Create;
    try
      IdHTTP.AllowCookies := True;
      IdHTTP.HandleRedirects := True;
      IdHTTP.Request.ContentType := 'application/x-www-form-urlencoded';
      IdHTTP.Post('https://www.oyunkabini.com/wp-comments-post.php', Request);
      Result := IdHTTP.Get('http://www.oyunkabini.com');
      if StrUtils.ContainsStr(Result, 'submit') then //Login başarısız demektir
        Result := '';
    finally
      IdHTTP.Free;
    end;
  finally
    Request.Free;
  end;
except
  Result := '';
end;
end;

Kodlarında yanlışlarım nelerdir ?
WWW
Cevapla


Konu ile Alakalı Benzer Konular
Konular Yazar Yorumlar Okunma Son Yorum
  yapay zeka delphi kl007 9 615 26-02-2026, Saat: 09:12
Son Yorum: mrmarman
  Win 11 ve Delphi 7 Minimize sorunu. enigma 7 492 11-02-2026, Saat: 10:27
Son Yorum: RAD Coder
Question Delphi formunu nasıl otomatik tam ekran yapabilirim ? erdemklt0 2 318 23-01-2026, Saat: 10:02
Son Yorum: csunguray
  Delphi SLL kullanım sorunu Bay_Y 12 1.316 22-12-2025, Saat: 18:11
Son Yorum: Bay_Y
  Delphi ile SQL server bağlantı hatası yakalama Under 20 1.961 21-11-2025, Saat: 15:24
Son Yorum: mrmarman



Konuyu Okuyanlar: 1 Ziyaretçi