linke tiklama

Delphi'de kod yazma ile ilgili sorularınızı bu foruma yazabilirsiniz.
Kullanıcı avatarı
greenegitim
Üye
Mesajlar: 713
Kayıt: 28 Nis 2011 10:33
Konum: İstanbul

Re: linke tiklama

Mesaj gönderen greenegitim »

ben hazır bir program kullanıyorum
http://www.organikhit.com.tr/
örnek kod ile ilgili mantığı @mrmarman hocamız vermiş kendi yaptığım bir uygulamam yok.
Mücadele güzelleştirir!
cmkare
Üye
Mesajlar: 177
Kayıt: 23 Ağu 2010 11:29

Re: linke tiklama

Mesaj gönderen cmkare »

benim banlanma gibi bir derdim olmayacak, çünkü 24 saat açık bir program olmayacak. günde veya 2 günde bir tek seferde yapılacak bir işlem.
Dediğim gibi google da bbir şekilde aratmayı yaptım ama webbrowser içinde açtırdığım google içindeki linklere tıklamayı yapamadım. takıldığım nokta burası.
Kullanıcı avatarı
mrmarman
Üye
Mesajlar: 4740
Kayıt: 09 Ara 2003 08:13
Konum: İstanbul
İletişim:

Re: linke tiklama

Mesaj gönderen mrmarman »

Size ilgili firma için yaptığım çalışmayı minimize edip / farklılaştırıp çalışan bir örnek hazırladım.
(1) Google'da strARA Anahtar Kelime Grubu ile arama yapılır.
(2) ilk 100 içerisinde olanlar WebBrowser'da görünür.
(3) Bu linkler içerisinden strKarsilastirmaURLsi ile uyuşan ilk linke tıklanır.

- Böylece kriter bazlı arama ile ilgili bulunan size veya hizmet verdiğiniz firmaya ait link tıklandığından, arama kriteri ile ilgili ilk akla gelen firma listesinde giderek üst seviyeye çıkmasına yardımcı olursunuz.

- Unutmayın, direkt firma adı vb. değil, belli bir kriteri aramayı tercih edin. Yoksa firma adını bilmek bu konuda SEO açısından pek de önem arz etmiyor.

- Önemli olan belirli bir konuda arama yapıp, çıkan sonuçlardan sizin veya hizmet verdiğiniz firmaya ait linki bulup tıklamaktır. :!:

Kullanım Şekli :

Kod: Tümünü seç

procedure TForm1.BitBtn1Click(Sender: TObject);
Var
  strAra, strKarsilastirmaURLsi : String;
begin
  strAra := 'Captcha Muharrem ARMAN';
  strKarsilastirmaURLsi := 'http://www.delphiturkiye.com';
  // Google'da strARA Anahtar Kelime Grubu ile arama yapılır.
  // ilk 100 içerisinde olanlar WebBrowser'da görünür.
  // bu linkler içerisinden strKarsilastirmaURLsi ile uyuşan ilk linke tıklanır.
  Case Sorgula( WebBrowser1, strAra, strKarsilastirmaURLsi ) of
    True : MessageDlg( '"'+strAra+'" anahtarı ile arama yapıldı'#13+ '"' + strKarsilastirmaURLsi + '" referansı ile ilk link bulundu ve tıklandı.', mtInformation, [mbOk], 0);
    False: MessageDlg('aramaya ilişkin link GOOGLE ilk 100''de bulunamadı.', mtWarning, [mbOk], 0);
  End;
end;
Senin için düzenlediğim Fonksiyon:

Kod: Tümünü seç

Function Sorgula( WebBrowser:TWebBrowser; strAramaAnahtari, strKarsilastirma:String ): Boolean;
Const
  AraFormat = 'http://www.google.com.tr/search?as_q=%s&hl=tr&num=100&btnG=Google''da Ara&as_epq=&as_oq=&as_eq=&lr=&cr=&as_ft=i&as_filetype=&as_qdr=all&as_occt=any&as_dt=i&as_sitesearch=&as_rights=&safe=images';
Var // MSHTML
  htmlDoc     : IHTMLDocument2;
  TumLinkler  : IHTMLElementCollection;
  BirLink     : IHTMLElement;
  url         : String;
  i           : Integer;
begin
  WebBrowser.Navigate( Format(AraFormat, [strAramaAnahtari]) );
  while WebBrowser.ReadyState <> READYSTATE_COMPLETE do
  begin
    Sleep(1);
    Forms.Application.ProcessMessages;
  end;

  htmlDoc     := WebBrowser.Document as IHTMLDocument2;
  TumLinkler  := htmlDoc.Links;
  Result      := False;
  i := 0;
  while (i < TumLinkler.Length-1) AND (NOT Result) do
  begin
    BirLink := TumLinkler.Item(i,'') as IHTMLElement;
    url       := BirLink.toString;
    if Pos( strKarsilastirma, URL ) = 1 then
    begin
      Result := True;
      BirLink.click;
    end;
    Application.ProcessMessages;
    inc(i);
  end;
end;
Resim
Resim ....Resim
Kullanıcı avatarı
brs
Üye
Mesajlar: 626
Kayıt: 04 Eki 2012 03:52

Re: linke tiklama

Mesaj gönderen brs »

Hocam IHTMLDocument2; Delphi ex5 karşılığı nedir acaba?
İşi bilen yardım eder, az bilen akıl verir, bilmeyen eleştirir, yapamayan ise çamur atar...
Kullanıcı avatarı
mrmarman
Üye
Mesajlar: 4740
Kayıt: 09 Ara 2003 08:13
Konum: İstanbul
İletişim:

Re: linke tiklama

Mesaj gönderen mrmarman »

Aynısı... MSHTML'yi USES'a eklemeyi unutmayın demeyi ihmal mi etmişim. :oops:
Resim
Resim ....Resim
Kullanıcı avatarı
brs
Üye
Mesajlar: 626
Kayıt: 04 Eki 2012 03:52

Re: linke tiklama

Mesaj gönderen brs »

:bravo: Hocam test ettim tek kelimeyle harika fakat ben 1000 kayıt içinde arama yaptırdım sanırım sorun olmaz,
Birde bende de Hido da çıkan ekran çıktı acaba bunun çözümü varmıdır... :D

hido yazdı:Hocam;
Google fazla hafife almamak lazım yaklaşık 10 tıklama yapınca resimdeki ekran karşına çıkıyor bu durumu aşmak mümkün mü?
Diğer sorun ise webbrowser de tıklama işini nasıl çöze biliriz...


Resim[/url]
İşi bilen yardım eder, az bilen akıl verir, bilmeyen eleştirir, yapamayan ise çamur atar...
Kullanıcı avatarı
mrmarman
Üye
Mesajlar: 4740
Kayıt: 09 Ara 2003 08:13
Konum: İstanbul
İletişim:

Re: linke tiklama

Mesaj gönderen mrmarman »

http yerine https ile google erişimi yaparsanız sıkıntı yaşamazsınız.

Sadece readystate_complete beklemekten bir adım daha uzun süreceğinden documentcomplet olayına da başvurulabilir.

Forumda daha önce bir sürü örnek paylaşmıştık bulabilirsiniz.
Resim
Resim ....Resim
Kullanıcı avatarı
brs
Üye
Mesajlar: 626
Kayıt: 04 Eki 2012 03:52

Re: linke tiklama

Mesaj gönderen brs »

mrmarman yazdı:http yerine https ile google erişimi yaparsanız sıkıntı yaşamazsınız.

Sadece readystate_complete beklemekten bir adım daha uzun süreceğinden documentcomplet olayına da başvurulabilir.

Forumda daha önce bir sürü örnek paylaşmıştık bulabilirsiniz.

Sadece readystate_complete beklemekten bir adım daha uzun süreceğinden documentcomplet olayına da başvurulabilir. Bunu anlamadım hocam :D
İşi bilen yardım eder, az bilen akıl verir, bilmeyen eleştirir, yapamayan ise çamur atar...
Kullanıcı avatarı
mrmarman
Üye
Mesajlar: 4740
Kayıt: 09 Ara 2003 08:13
Konum: İstanbul
İletişim:

Re: linke tiklama

Mesaj gönderen mrmarman »

Telefondan yazıyorum, hele bir denemelerini yap. Sonra örnekli olarak onu da veririm. Google taraması yaptığın link HTTPS olacak
Resim
Resim ....Resim
cmkare
Üye
Mesajlar: 177
Kayıt: 23 Ağu 2010 11:29

Re: linke tiklama

Mesaj gönderen cmkare »

@mrmarman Çok Teşekkürler.
Kullanıcı avatarı
brs
Üye
Mesajlar: 626
Kayıt: 04 Eki 2012 03:52

Re: linke tiklama

Mesaj gönderen brs »

1. Sorum Normalde google chrome arama yapınca ortamala 62 satırda linki buluyorum, fakat delphi ile yapmış olduğum web browser da aratınca kayıt bulunamıyor, hatayı nerede yaptım?


2. Sorum chrome ile yapılan aramadaki ekran görüntüsü
Resim



Yapmış olduğum webbrowser ekran görüntüsü
Resim

Neden görüntüler farklı acaba
İşi bilen yardım eder, az bilen akıl verir, bilmeyen eleştirir, yapamayan ise çamur atar...
Kullanıcı avatarı
barisatalay
Üye
Mesajlar: 398
Kayıt: 02 Nis 2013 05:43
İletişim:

Re: linke tiklama

Mesaj gönderen barisatalay »

Google hesabınıza login olduysanız arama sonuçları daha farklı dönecektir.
Kullanıcı avatarı
hido
Üye
Mesajlar: 268
Kayıt: 29 Mar 2014 04:32

Re: linke tiklama

Mesaj gönderen hido »

Konu çok uzadı biliyorum fakat kafama takıldı google da 100 satır içinde değilde daha fazla satır içinde aratıp bulma şansım var mı

Kod: Tümünü seç

num=100
değişiklik yaptım ama işe yaramadı.
ikinci sorum ise (mrmarman: http yerine https ile google erişimi yaparsanız sıkıntı yaşamazsınız) fakat işe yaramadı google yakalıyor bu duruma başka alternatif var mı?


Kod: Tümünü seç

  AraFormat = 'http://www.google.com.tr/search?as_q=%s&hl=tr&num=100&btnG=Google''da Ara&as_epq=&as_oq=&as_eq=&lr=&cr=&as_ft=i&as_filetype=&as_qdr=all&as_occt=any&as_dt=i&as_sitesearch=&as_rights=&safe=images';
Kullanıcı avatarı
mrmarman
Üye
Mesajlar: 4740
Kayıt: 09 Ara 2003 08:13
Konum: İstanbul
İletişim:

Re: linke tiklama

Mesaj gönderen mrmarman »

hido yazdı:Konu çok uzadı biliyorum fakat kafama takıldı google da 100 satır içinde değilde daha fazla satır içinde aratıp bulma şansım var mı

Kod: Tümünü seç

num=100
değişiklik yaptım ama işe yaramadı.
ikinci sorum ise (mrmarman: http yerine https ile google erişimi yaparsanız sıkıntı yaşamazsınız) fakat işe yaramadı google yakalıyor bu duruma başka alternatif var mı?


Kod: Tümünü seç

  AraFormat = 'http://www.google.com.tr/search?as_q=%s&hl=tr&num=100&btnG=Google''da Ara&as_epq=&as_oq=&as_eq=&lr=&cr=&as_ft=i&as_filetype=&as_qdr=all&as_occt=any&as_dt=i&as_sitesearch=&as_rights=&safe=images';
Bir sayfadan diğer sayfaya normal bir browser penceresinde nasıl geçiyorsunuz? Next butonuna basarak değil mi? İlk sorunun cevabı bu.

İkinci sorun ; alternatif meselesi. Elindekini kullanamıyorsan alternatifi hiç kullanamazsın çünkü:

Hazır çözüm bekliyorsunuz. Kodu yazarken gerçi bunu yapacağınızı tahmin etmiştim.

HTTP:// ile ve HTTPS:// sıralı bir sistem kuracaksınız tabii ki. Orjinal kodda http bıraktım nedenini düşündünüz mü hiç?

Başta da söyledim ticari olarak firmalara hazırladığım projenin size basitleştirilmiş halini veriyorum diye. :roll:

Internet mekanizması konusunda temel bilgilere sahip değil iseniz bunları yapamamanız doğaldır.

Bkz. REFERER nedir, USERAGENT nedir, PROXY nedir

Hit arttırma işlemi kümülatif bir mekanizmadır. Tıkandığı yerde açılacak yolları bilmeden proje geliştirmek yanında çekme halatı yokken offroad macerasına girişmek gibidir. Kendini yine kendin kurtaracaksın.

Yapamadığın yerde profesyonel çözüm için ücreti karşılığı hizmet alacaksın. 2 kere 2 = 4
Resim
Resim ....Resim
Kullanıcı avatarı
Serhat
Üye
Mesajlar: 203
Kayıt: 27 Tem 2014 11:10

Re: linke tiklama

Mesaj gönderen Serhat »

Selam acaba webbrowser yerine mozila firefox ve yandex gibi browseda nasıl uygulayabiliriz bu kodları.
mrmarman yazdı:Bir firma için benzer bir çalışma yapmıştım. SEO iyileştirmelerini yapıyor olmalarına rağmen, GOOGLE aramalarında üstte çıkmak konusunda aynı sektördeki yakın bir rakipleri de benzer SEO teknikleri uyguluyor olmalı ki, bir türlü aşamıyorlardı. Sonra google üzerinden yapılan sorgular ile tıklama yapmanın bir çok bottan daha faydalı olduğu yorumunu yaparak bana başvurdular ve projeyi istediler. Modüler bir proje olmalıydı ve kurumlarındaki bilgisayarlar ile ücretsiz dağıtımını gerçekleştirdikleri materyallerde kullanılabilmeliydi.

- Ticari bir meta olduğundan sadece metodolojiyi paylaşayım, anahtar teslimi bir kod vermem doğru olmaz. Sadece GOOGLE taramasında sonuç sayısını artırmak yönünde size çok büyük faydası olacaktır. Böylece üçüncü sayfada mı çıkacak, beşinci sayfada mı sorunsalınız ortadan kalkacaktır.

- Bir kaç aşamalı işlem yürütmen gerekecek.

(1) Önce arama işlemi.

- Aşağıdaki sizin için hazırladığım örnek kod bloğunu deneyin. Boş bir proje açın, forma bir adet TWebbrowser ve Button koyup kodu deneyin. strARA kısmına da aramak istediğini kelime veya cümleyi yazın.

Aynı kelime veya cümleyi bir de Explorer/Chrome/Firefox gibi web tarayıcılarıyla bir deneyin. Çıkan sonuç sayısını gözlemleyin.

Kod: Tümünü seç

procedure TForm1.BitBtn1Click(Sender: TObject);
Const
  AraFormat = 'http://www.google.com.tr/search?as_q=%s&hl=tr&num=100&btnG=Google''da Ara&as_epq=&as_oq=&as_eq=&lr=&cr=&as_ft=i&as_filetype=&as_qdr=all&as_occt=any&as_dt=i&as_sitesearch=&as_rights=&safe=images';
Var
  strAra : String;
begin
  // Aşama (1) ARAMA İşlemi
  strAra := 'Muharrem ARMAN';
  WebBrowser1.Navigate( Format(AraFormat, [strAra]) );
  while WebBrowser1.ReadyState <> READYSTATE_COMPLETE do
  begin
    Sleep(1);
    Application.ProcessMessages;
  end;
end;
(2) PARSE işlemi (çıkan sonucu bileşenlerine ayırma)
- Çıkan sonuçları bir listeye, linklerini başka bir listeye ayıracaksınız.

(3) Liste içerisinde size hizmet eden linkleri inceleme.
- Parse ederek oluşan listeden, domain'i size ait olanları seçeceksiniz.

(4) WebBrowser üzerinde Element listesi almak
- Aynı listedeki satır sayısı kadar WebBrowser'da onlara karşılık gelen ELEMENT 'in ID'sini bulacaksınız.

(5) İlgili ve size hizmet edecek linke CLICK komutu yollayacaksınız.
Cevapla