Konuyu Oyla:
  • Toplam: 0 Oy - Ortalama: 0
  • 1
  • 2
  • 3
  • 4
  • 5
[YENİ] [Python] StackOverFlow Araması
#1
Bu defa neredeyse bütün geliştiricilerin başları sıkıştığında başvurdukları ilk adres olan stackoverflow için bir kod yazdım. Burdaki amaç kod yazarken yardıma ihtiyaç duyulduğunda kod editöründen ayrılmadan python interpreter'da sorununa mümkün olan en kısa zamanda cevap bulmak.

kodu sdcard anadizinine stack.py olarak kaydederek ihtiyac duyduğunuz her an etkikeşimli kabuğa "import stack" yazarak kodu çalıştırabilirsiniz..

Kod ile ilgili sorun yaşamamak için kodu Pydroid uygulaması ile çalıştırın. (forumda mevcut)

PHP Kod:
#-*-coding:utf8;-*-

import HTMLParser
import urllib2
import re
,sys,urllib,time,os
from xml
.sax import saxutils as su
from urllib import quote
unquote
import platform
import subprocess


def yaz
(parametretime_sleep 0.02):
    for 
i in parametre:
        
time.sleep(time_sleep)
        
sys.stdout.write(i)
        
sys.stdout.flush()

if 
platform.platform().startswith("Linux"):    
    try:
        
from termcolor import coloredcprint
    except
:
        
yaz("Gerekli modüller yükleniyor...\n")
        
arg="pip install termcolor"
        
os.system(sys.executable+" "+sys.prefix+"/bin/"+arg)
        
os.execv(sys.executable, ['python'] + sys.argv)
        
from termcolor import coloredcprint
    
try:
        
from bs4 import BeautifulSoup
    except
:
        
arg="pip install bs4"
        
os.system(sys.executable+" "+sys.prefix+"/bin/"+arg)
        
os.execv(sys.executable, ['python'] + sys.argv)
        
from bs4 import BeautifulSoup
    
try:
        
import mechanize
    except
:
        
yaz("Gerekli modüller yükleniyor...\n")
        
arg="pip install mechanize"
        
os.system(sys.executable+" "+sys.prefix+"/bin/"+arg)
        
os.execv(sys.executable, ['python'] + sys.argv)
        
import mechanize

else:
    try:
        
from termcolor import coloredcprint
    except
:
        
yaz("Gerekli modüller yükleniyor...\n")
        
subprocess.call(["python","-m","pip","install","termcolor"])
        
from termcolor import coloredcprint
    
try:
        
from bs4 import BeautifulSoup
    except
:
        
subprocess.call(["python","-m","pip","install","bs4"])
        
from bs4 import BeautifulSoup
    
try:
        
import mechanize
    except
:
        
yaz("Gerekli modüller yükleniyor...\n")
        
subprocess.call(["python","-m","pip","install","mechanize"])
        
import mechanize


HTMLParser.HTMLParser()
br mechanize.Browser()
br.set_handle_robots(False)
br.addheaders = [('User-agent''Mozilla/5.0 (compatible; Konqueror/3.5; Linux) KHTML/3.5.5 (like Gecko) (Kubuntu)')]

y=colored('Proje Adı  : StackOverFlow           ','white''on_red')
a=colored('İletişim   : http://www.qpython.club ','white','on_red')
c=colored('Geliştirici: Ethnic                  ','white','on_red')
descolored('_'*60,'red')
yaz(des+'\n\n'+y+'\n\n'+a+'\n\n'+c+'\n\n'+des+'\n',0.004)

def sayfa_ac(go_link):
    
html br.open(go_link).read()
    
data=su.unescape(html, {'"':'"','&':'&'})
    
soup BeautifulSoup(data,'html.parser')
    
veri=''
    
say=1
    
    
for lin in soup.findAll('div',class_="post-text"):
        try:
            
a=data.split('<div class="post-text" itemprop="text">')[say]
            
a=h.unescape(a.decode('utf-8'))
            
so BeautifulSoup(a,'html.parser')
            
com=''
            
for alt in so.findAll('span',class_="comment-copy"):
                
com+='-'*60+'\n+ '+colored(alt.getText(),'cyan')+'\n'
        
except Exception as e:
            print 
e
            pass
        veri 
+= colored(str(lin).decode('utf-8'),'white',attrs={'dark'})+ '\n'+com+'\n'+colored('_'*60+'\n','red')+colored('\n'+'Answer '+str(say),'grey',attrs=['reverse''blink','bold'])+'\n'
        
say +=1
    
for min in soup.findAll('code'):
        
str(min)
        
veri=veri.replace(b,colored(b,'green'))
    
veri=re.sub('<pre>','\n',veri)
    
veri=re.sub('</pre>','',veri)
    
veri=re.sub('<p>','\n',veri)
    
veri=re.sub('</p>','',veri)
    
veri=re.sub('<(.*?)>','',veri)
    
veri=h.unescape(veri)
    
yaz(veri,0.0001)
    
def arama():
    print 
'\n'
    
google raw_input(colored('StackOverFlow\'da Ara : ','red',attrs=['bold']))
    
google=google.replace(' ','+')
    
query urllib.quote(google)
    
url "https://www.google.com.tr/search?q="+query+'%20site:stackoverflow.com'
    
try:
        
ac br.open(url)
        print 
'\n'
        
html ac.read()
    
except:
        
yaz('\n\n-Bağlantı hatası! Veri bağlantısını kontrol edin.\n')
        
quit()
    if 
str(c[29]) != 'c':
        
quit()
    else:
        
pass
    
try:
        
data=su.unescape(html, {'&quot;':'"','&amp;':'&'})
        
results re.findall(r'\<h3.*?\>.*?\<\/h3\>'datare.IGNORECASE)
        
isim=[]
        
adr = []
        
say 0
        
for r in results:
            
say += 1
            mtch 
re.match(r'.*?a\s*?href=\"(.*?)\".*?\>(.*?)\<\/a\>.*$'rflags=re.IGNORECASE)
            
url mtch.group(1)
            
url re.sub(r'^.*?='''urlcount=1# prefixed over urls \url=q?
            
url re.sub(r'\&.*$'''urlcount=1# suffixed google things
            
url unquote(url)
            
adr.append(url)
            
name mtch.group(2)
            
name re.sub(r'<.*?>'''name)
            
name=name.decode('utf-8')
            
name h.unescape(name)
            
isim.append(name)
            
ciz=colored('-'*60,'red')
            
yazstr(say)+ ' - ' name '\n'+ciz0.0005)
    
except:
        
pass
    
if not adr:
        
yaz('\n- Sonuç bulunamadı! Tekrar deneyin.\n\n')
        
arama()
    else:
        
pass
        
    
print '\n'
    
yanlis False
    
while not yanlis:
        try:
            print 
'\n'
            
git raw_input(colored('Konu Numarası : ','red',attrs=['bold']))
            
go_link adr[int(git)-1]
            
yaz(colored('\n\n'+isim[int(git)-1], 'grey',attrs=['reverse''blink','bold'])+'\n')
            
sayfa_ac(go_link)
        
except Exception as e:
            print 
e
            yaz
('\n- Lütfen site numarasını doğru giriniz!\n\n')
            
pass

arama
() 

Ara
Cevapla
#2
google diye bi site var cok güzel
Ara
Cevapla
#3
@excel beyin denen bir organ var daha güzel..

(01-10-2017, Saat: 15:22)Ethnic Nickli Kullanıcıdan Alıntı:  Pythonu öğrenmek için kendime bazı ödevler veriyorum ve bu ödevleri yaparken yeni şeyler öğreniyorum..

Bundan böyle öğrendiğim yeni bilgileri burda basit kodlara dönüştürerek paylaşmayı düşünüyorum. Böylece benim gibi pythona yeni başlamış kişilerin faydalanabileceği bazı kaynaklar oluşturmayı amaçlıyorum..

http://qpython.club/showthread.php?tid=1096
Ara
Cevapla
#4
Her kod ufak da olsa mutlaka bir şeyler katar. Hiç bir şey yapmasa bile bilgileri pekiştirir, bir nevi unutulmamasını sağlar. Kaldı ki yeni bir şey yazarken, yani daha önce aynısını yazmamışsa insan illaki araştırma yapabiliyor veya bildiklerinden birleştirme yaparak bir şeyler öğreniyor. O yüzden üyelerden ricam eleştirilecek bir şey varsa yazılan kodun teknik içeriğini eleştirin. Bizim burda yaptığımız uygulamaların veya kodların bir başka yerde kullanıyor olması veya daha iyisinin olup olmaması bizim boşa kürek çektiğimiz anlamına gelmez. Eğer daha iyisi mutlaka vardır diye yazdığı uygulamadan vazgeçip direkt daha iyisini kullansaydı daha iyisini yapanlar, şimdi o daha iyiler biliyor olurlardı sadece uygulama yapmasını. Mesela facebook var diye twitter kurulmaz, youtube var diye dailymotion vs gibi siteler kurulmazdı.

Kısacası daha iyisi var diye yaptığı işten vazgeçen insanlar; her zaman daha iyisini yapanların eline bakmaya, onların üstülüğünü peşinen kabul etmeye ve körelmeye mahkumdur.
Turbobit Premium Link Çeviri | Turbobit Link Generator | http://turbobit.qpython.club
Cevapla
#5
gecemor aynen çok güzel özetlemişsin ama arkadaşın derdi scriptin iyi olup olmaması veya işlevi değil, teknik içeriği ile ilgilendiğini de sanmıyorum, komiklik yapmak istemiş herhal Smile
Ara
Cevapla

{lang: 'en'}


Konu ile Alakalı Benzer Konular
Konular Yazar Yorumlar Okunma Son Yorum
  15gb .myd uzantılı dosya python ile okutma perry 1 1,196 27-11-2022, Saat: 17:59
Son Yorum: perry
Question Python Dili Soru & Cevap gecemor 1,493 1,075,068 08-11-2022, Saat: 11:18
Son Yorum: Antonyobanderas
  GÜNCEL Python request , c# request e göre çok yavaş ne yapabilirim perry 12 3,088 28-09-2022, Saat: 20:27
Son Yorum: krast
  YENİ Python Pyqt5 memory leak sorunu perry 3 1,378 28-09-2022, Saat: 11:33
Son Yorum: gecemor
  YENİ PYTHON ads approval CaglarDevv 2 1,509 04-07-2022, Saat: 01:23
Son Yorum: CaglarDevv

Hızlı Menü:


Konuyu Okuyanlar: 1 Ziyaretçi
Change Theme