![]() |
|
Delphi siteye yorum - Baskı Önizleme +- Delphi Can (https://www.delphican.com) +-- Forum: Delphi (https://www.delphican.com/forumdisplay.php?fid=3) +--- Forum: Genel Programlama (https://www.delphican.com/forumdisplay.php?fid=6) +--- Konu Başlığı: Delphi siteye yorum (/showthread.php?tid=2270) Sayfalar:
1
2
|
Delphi siteye yorum - quiet1day - 28-05-2018 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 Cvp: Delphi siteye yorum - Halil Han BADEM - 28-05-2018 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 ![]() Edit: @"Paranoyaq" sadece forma WebBrowser ekle. Özel mesaj yerine burayı tercih ediyorum çünkü senin gibi başka kişilerde yararlansın diye
Delphi siteye yorum - Bay_Y - 29-05-2018 teşekkürler bilgilendirme için. Delphi siteye yorum - mrmarman - 29-05-2018 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. ![]() WordPress_CommentBot.rar - 1.4 MB Başarılar. Delphi siteye yorum - quiet1day - 29-05-2018 (29-05-2018, Saat: 14:45)mrmarman Adlı Kullanıcıdan Alıntı: Bir fikir ve önerim olacak; Yararlı paylaşımlarınızdan ötürü çok teşekkürler Delphi siteye yorum - mrmarman - 29-05-2018 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.
Delphi siteye yorum - ozcanm - 30-05-2018 (29-05-2018, Saat: 22:29)mrmarman Adlı Kullanıcıdan Alıntı: Merhaba 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.
Delphi siteye yorum - mrmarman - 30-05-2018 @"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.
Delphi siteye yorum - ozcanm - 30-05-2018 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. Cvp: Delphi siteye yorum - quiet1day - 30-05-2018 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 ? |