Merhaba Turk Hack Team ailesi;
Bugünkü konumuzda, Python ile arama motoru nasıl yapabilirsiniz onu göstereceğim.İlk önce her zamanki gibi tüm kodları veriyorum:
Kod:
from google import search
#Coded by BayRobot
dosya = open("dork.txt", "r")
dosya2 = open("siteler.txt", "w")
belgeicerik = dosya.readlines()
iceriksayisi = len(belgeicerik)
dongu = 0
sitelerlist = []
dongu2 = 0
for i in range(0, iceriksayisi):
for url in search(belgeicerik[dongu], stop=1):
sitelerlist.append(url)
dosya2.write(sitelerlist[dongu2]+"\n")
dongu2+= 1
dongu+=1
dosya.close()
dosya2.close()
#Coded by BayRobot
Kodları açıklamaya başlayalım.
Kod:
from google import search
arama yapabilmek için google modülünün search fonksiyonunu içeri aktarıyoruz.Eğer modül kurulu değilse komut satırında:
Kod:
pip install google
komutunu giriyoruz.
Şimdi konumuza geri dönelim. Gerekli modülleri içeri aktardık.
Kod:
dosya = open("dork.txt", "r")
dosya2 = open("siteler.txt", "w")
Burada iki farklı dosya açtık.Biri okuma biri yazma kipinde.İlk açtığımız dosya içinde aranacak kelimeleri bulunduran dork.txt adlı bir dosya. Dorkları daha önce oluşturduk. Eğer oluşturmadıysanız google üzerinden nasıl oluşturabileceğinize bakabilirsiniz.
Tekrar konumuza geri dönelim.
Yazma kipinde açtığımız ikinci dosya ise aradığımız sitelerin kaydedileceği dosya.
Kod:
belgeicerik = dosya.readlines()
iceriksayisi = len(belgeicerik)
ilk satırda arayacağımız terimleri bir liste halinde çektik.
İkinci satırda ise ileride oluşturacağımız for döngüsünün belgedeki terim sayısı kadar dönmesi için çekiyoruz.
Kod:
sitelerlist = []
dongu2 = 0
ilk satırda siteler.txt dosyasına kaydedeceğimiz sitelerin bulunacağı bir liste. Şu an boş
fakat birazdan dolacak. İkinci satırda dongu2 adlı bir değişken tanımladık.Bunun ne işe yarayacağını şimdi anlatacağım.
Kod:
for i in range(0, iceriksayisi):
for url in search(belgeicerik[dongu], stop=1):
sitelerlist.append(url)
dosya2.write(sitelerlist[dongu2]+"\n")
dongu2+= 1
dongu+=1
dosya.close()
dosya2.close()
En önemli ve karmaşık kısım burası.Burada işler biraz karışabilir.Şimdi ilk olarak for i in range(0, iceriksayisi): satırı var.Burada dork.txt dosyasının içeriği kadar arama yapması için for döngüsü oluşturduk.Dikkat ederseniz daha önce aldığımız iceriksayisi adlı değişkeni burada kulandık.İkinci sırada arama yapacak döngüyü yaratıyoruz.Burada ilk önce search fonksiyonunun kullanımı açıklamam gerek. Search fonksiyonunun ilk parametresi aranacak kelime
ikinci parametresi ise aratılan sitelerden kaç tanesinin alınacağı.Biz ilk parametreye belgeicerik[dongu] yazdık.Peki bu neyi sağlayacak.Hatırlarsanız daha önceden belgeicerik adlı bir değişken tanımladık.Bu değişkenin içinde dork.txt belgesinin içindeki terimler liste halinde saklı.
Bizde burada o listenin dongu sırasına denk gelen terimi çektik ve aradık. NASIL YANİ ???
Şöyle ki:
dongu adlı bir değişkenimiz vardı.Bunun değeri ilk başta sıfır.Yani ilk olarak belgeicerik listesinin sıfırıncı ögesini alacak ve arayacak.Döngünün sonunda dongu değişkeni
bir artacak.Yani sıfır ise bir olacak.Böylece bir daha ki dönüşte belgeicerik[1] diye bir satırımız olmuş olacak.Böylece dork.txt belgesinin içinde ki tüm terimleri tek tek aramış olacağız.
Buradan sonra sadece aradığımız siteleri siteler.txt'ye kaydetmek.
Kod:
sitelerlist.append(url)
dosya2.write(sitelerlist[dongu2]+"\n")
dongu2+= 1
onu da burada yapıyoruz işte.Yukarıda sitelerlist diye bir liste değişkeni oluşturmuştuk.
sitelerlist.append(url) kısmı ile bu oluşturduğumuz listeye url'leri aktarıyoruz.
Böylece aradığımız siteler sitelerlist adlı bir değişkende tutuluyor.Bundan sonra dosya2.write(sitelerlist[dongu2]+"\n") satırı ile sitelerlist değişkeninin dongu2'nci terimini siteler.txt'ye yazdırıyoruz.Hatırlarsanız dongu2 değişkeninin değeri 0'dı.Yani ilk olarak sitelerlist[0] terimini siteler.txt'ye kaydedecek.Bundan sonra dongu2 değişkenine bir sayı ekliyoruz.Böylece sitelerlist[1] teriminide kaydetmiş oluyoruz.Arama bitene kadar bu kodlar aynı şekilde devam ediyor. Böylece tüm dorkları aramış, aradığımız dorklarda çıkan tüm siteleri kaydetmiş oluyoruz.
Evet, konumuz bu kadardı... Bir teşekkürü çok görmeyin
Son düzenleme:

