Arama motoru mantığı

  1. def tarama(xxx):

  2. url=" "

  3. s=requests.get(url)

  4. s1 = BeautifulSoup(s.content,“html5lib”)

  5. x=0

  6. c1 =s1.find_all(‘a’,attrs={‘class’:‘lnk-blk’})

  7. dö=“1”

  8. isim1=xxx

  9. while dö==“1”:

  10. 	x= x+1
    
  11. 	if x <39:
    
  12. 		d1= c1[x]["href"]
    
  13. 		z1= d1.split("/")
    
  14. 		adı= z1[4]
    
  15. 		for i in z1:
    
  16. 			if isim1 == i:
    
  17. 				print(i,"Link :",d1)
    
  18. 				dö="0"
    
  19. 				x=999
    
  20. 				sx=requests.get(d1)
    
  21. 				sx1 = BeautifulSoup(sx.content,"html5lib")
    
  22. 				cx1 =sx1.find_all('iframe')
    
  23. 				izle= cx1[0]["data-src"]
    
  24. 				print(izle)
    

Bu şekilde bir kodum var yaptığı işlem basit bir urlnin “/” dan sonraki halini “adı” ya yazdırıyor ve “xxx” le eşleşince gerekli komutları izliyo benim istediğim şey bire bir bulduğu sonuçla eşleşmesine gerek kalmadan benzerlik saptayınca aynı işlemi gerçekleştirmesi örnek olarak bulmak istediğim sonuç “ali_ata_bak” olsun .ben “ali bakt” yazdığımda benzerliği farkedip yinede bana “ali_ata_bak” sonucunu döndürmesini istiyorum eminim birden fazla yolu vardır bunu yapmanın yol gösterirseniz sevinirim .

Kodların karışlığı için özür dilerim sonradan toparlıycam

Eğer veritabanından bilgileri çekiyorsan LIKE ile benzerlik yakalayabilirsin.

Bunu kullanmadaki problem birden fazla site gelebilir.
ali_ata_bak
ali_ata_bakma
diye 2 site adı var diyelim. ali_ata arattığımda ilkinin gelmesi lazım. Bunun içinde ilk gelen elementi çekiceksin. Hangi database’i kullandığını bilmiyorum o yüzden Query kodunu yazamayacağım.

veritabanından çekmiyorum hocam internet sitesinden kazıyorum