Konuyu Oyla:
  • Toplam: 1 Oy - Ortalama: 5
  • 1
  • 2
  • 3
  • 4
  • 5
[GÜNCEL] Site kaynağından Regex ile veri bulma [yeni kod eklendi]
#1
Kodu duzenledim. Pythonun sunduğu kısıtlı etkileşim arayüzünü kullandım.

Site kaynağından herhangi bir tag'ı ve Regex aramasında çıkan sonucu kopyalama özelliği ekledim. Ve bunları yaparken de yeni şeyler öğrendim Smile

PHP Kod:
#-*-coding:utf8;-*-
#qpy:3
#qpy:console

#import sys
#import time
#import types
import sl4a
from urllib
.request import urlopen
import re
droid 
sl4a.Android()
def yap():
    
yazi droid.dialogGetInput("Hedef linki girin ya da yapistirin ").result
    
#yazi="http://qpython.club"
    
title 'Lütfen Bekleyin..'
    
message 'Sayfa kaynagi getiriliyor'
    
droid.dialogCreateSpinnerProgress(titlemessage)
    
droid.dialogShow()
    
#time.sleep(5)
    
if yazi and yazi != '':
        try:                
            
link urlopen(yazi)
        
except:
            
droid.makeToast('baglanti hatasi.. Lütfen adresi düzgün girin!')
            
droid.vibrate()
            
droid.dialogDismiss()
            
yap()
        
droid.dialogDismiss()
        
data str(link.read().decode("UTF8"))
        
liste data.split("\n")
        
droid.dialogCreateAlert(yazi)
        
droid.dialogSetItems(liste)                        
        
droid.dialogSetPositiveButtonText('Devam')            
        
droid.dialogShow()
        
onay droid.dialogGetResponse().result
        
try:
            
droid.setClipboard(liste[onay['item']])
            
droid.makeToast(liste[onay['item']])
        
except:
            
pass

        def bul
():
            try:                
                
reg droid.dialogGetInput("Regex Gir").result
                
#reg = "Ethnic"
                
if reg:
                    
a=re.findall(reg,data)
                    if 
a:
                        
title "Eşleşme Sayısı : " str(len(a))
                        
droid.dialogCreateAlert(title)
                        
droid.dialogSetItems(a)
                        
droid.dialogSetPositiveButtonText("Hepsini Kopyala")
                        
droid.dialogSetNegativeButtonText("Devam")                        
                        
droid.dialogShow()
                        
cev droid.dialogGetResponse().result
                        
try:
                            
kop cev['item']
                            
droid.setClipboad(a[kop])
                            
droid.makeToast("kopyalandi")
                        
except:
                           
# pass
                            
if cev['which'] == 'positive':
                                
droid.setClipboard(a)
                                
#print(str(*a))
                                
droid.makeToast("Hepsi Kopyalandı")
                            
#elif cev['which'] == 'negative':
                                
                        
else:
                            
pass
                        

                        def sor
():
                            
title 'Uyarı'
                            
message = ('Ne Yapmak İstiyorsun.')
                            
droid.dialogCreateAlert(titlemessage)
                            
droid.dialogSetPositiveButtonText('Devam')
                            
droid.dialogSetNegativeButtonText('Çık')
                            
droid.dialogSetNeutralButtonText('Yeni Url')
                            
droid.dialogShow()
                            
son droid.dialogGetResponse().result
                            don 
son['which']
                            
#print(response['which'])                       
                            
if don == "positive":
                                
bul()
                            
elif don == "negative":                        
                                
quit()
                            
elif don == "neutral":
                                
yap()
                            else:
                                
droid.makeToast("Yanlis komut verdiniz!")
                                
droid.vibrate()
                                
sor()
                        
sor()
                    else:
                        
droid.makeToast('Eslesmedi tekrar deneyin')
                        
droid.vibrate()
                        
bul()
                
elif not reg:
                    
quit()
                else:
                    
droid.makeToast('Bu alan bos birakilamaz!')
                    
droid.vibrate()
                    
bul()
            
except:
                
droid.makeToast("Çıkılıyor")
                
droid.vibrate()
                
        
bul()
    
elif yazi == '':
        
droid.makeToast("Bu alan bos brakilamaz!")
        
droid.vibrate()
        
yap()
    
elif not yazi:
        
droid.dialogDismiss()
        
droid.makeToast("Çıkılıyor")
        
droid.vibrate()
        
quit()
        
yap() 



Evet gözümün nuru ilk Python scriptim. Smile

Işinize yarar mı?

Belki, öğrenmek için yaptım çokta bir numarası yok.

Ne işe yarar?

Başlıkta yazdığım gibi istediğiniz bir site kaynağından ulaşmak istediğiniz içerikleri Regex yardımıyla bulmanızı sağlar,

Örneğin arama alanına href="(.*?)" yazdığınızda o sayfadaki tüm linkleri cekersiniz.

Şimdilik sadece içerikleri görüntüleme var daha sonra bunları bir text dosyasına yazdırma falan yaparım.

Kullanımı:

Ilk sorgu alanına kaynağını görüntülemek istediğiniz sitenin linkini yapistirin,

Ikincisine Regex (regular expression) yani düzenli ifadeyi girin.

Not: Python 3 ile çalışır ama Python 2 ile çalışması için ufak bazı değişiklikler yeterli olur galiba. Ona da sonra bakar olursa eklerim.



PHP Kod:
#-*-coding:utf8;-*-
#qpy:3
#qpy:console
from urllib.request import urlopen
import re

def yap
():
    
yazi input("Hedef linki girin ya da yapistirin : \n")
    if 
yazi:
        
link urlopen(yazi)
        
data str(link.read().decode("UTF8"))
        print(
data,"\n"*2,end="_"*30)      
        
def bul():
            try:
                
reg=input("\n\nAranan Regex : ")
                if 
reg:
                    
a=re.findall(reg,data)
                    if 
a:
                        print(
"Eslesen        : \n",*a,sep="\n\n",end="\n"*2)                                              
                        print(
"_"*30,"\n\nAranan Regex",reg,"\nEslesme sayisi : ",len(a))
                        print(
"_"*30)
                        
def sor():
                            
don input("Çikmak icin : H\nDevam etmek icin : E\nEn basa donmek icin : B\n").upper()                        
                            if 
don == "E":
                                
bul()
                            
elif don == "H":                        
                                
quit()
                            
elif don == "B":
                                
yap()
                            else:
                                print(
"\nYanlis komut verdiniz!\n")
                                
sor()
                        
sor()
                    else:
                        print(
"\nEslesmedi tekrar deneyin")
                        
bul()
                else:
                    print(
"\nBu alan bos birakilamaz!\n")
                    
bul()
            
except:
                print(
"\nBir hata olustu")
                
pass
        bul
()
    else:
        print(
"\nBu alan bis brakilamaz!\n")
        
yap()
yap() 
Ara
Cevapla
#2
Tebrikler abi Smile
Ara
Cevapla
#3
Teşekkür ederim baros
Ara
Cevapla
#4
Tebrikler abi Smile like
Ara
Cevapla
#5
while döngüsü yerine fonksiyon içinde fonsiyon çağırarak yapmışsın yapacağını, aynı benim ilk yaptığım gitar akorları kodu gibi Big Grin neyse sonuçta bu artık genel mantığı kavradığın anlamına geliyor, sana da python aşıladık sonunda Smile
Turbobit Premium Link Çeviri | Turbobit Link Generator | http://turbobit.qpython.club
Cevapla
#6
@hkrgln sağol hakan Smile
gecemor haha evet haklısın.Smile
Ara
Cevapla
#7
@Ethnic tebrikler hocam.
Ara
Cevapla
#8
Sağol Smile
Ara
Cevapla
#9
Ellerine sağlık güzel çalışma.
Ara
Cevapla
#10
Teşekkürler ..
Ara
Cevapla

{lang: 'en'}


Konu ile Alakalı Benzer Konular
Konular Yazar Yorumlar Okunma Son Yorum
  Python içine veri kaydetme SD-16 6 2,013 25-04-2019, Saat: 00:47
Son Yorum: gecemor
  YENİ Veri Şifreleme teaqara 6 6,407 27-05-2018, Saat: 16:05
Son Yorum: Nanobit
  Döviz Sitesinden Veri Çekme Mehmet Zerey 14 9,043 18-05-2017, Saat: 18:00
Son Yorum: gecemor
  YENİ Host tarama [kod eklendi] iskeletor 167 109,485 28-01-2017, Saat: 21:44
Son Yorum: hkrgln

Hızlı Menü:


Konuyu Okuyanlar: 1 Ziyaretçi
Change Theme