Hoşgeldin, Ziyaretçi:

l Üye Ol

Facebook ile Giriş
Tarih: 14-12-2018, Saat: 19:32
  • http://qpython.club'e Hoşgeldiniz!
  • Forum Kurallarını okumayı unutmayınız.
  • İyi Forumlar...
  • Python Kodları
  • qpython.club Adresimiz Aktiftir...

Turbobit Çeviri [BETA]        PuhuTV indirme        Twitter Status Updater            Facebook Grubu

USD: ---      EUR: ---      BTC: ---

Python Kodları > Programlama Dilleri > Python > Thrading hakkında yardım >

 Yorum: 4    Görüntülenme: 574
Konuyu Oyla:
  • Toplam: 0 Oy - Ortalama: 0
  • 1
  • 2
  • 3
  • 4
  • 5
 Thrading hakkında yardım
04-07-2018, Saat: 17:21, (Son Düzenleme: 04-07-2018, Saat: 17:25, Düzenleyen: oktay811.)
Çevrimdışı
Vip üye
Vip Üye
Üyelik Tarihi: 24-01-2017
Mesajlar : 532
Konular:
Rep Puanı: 3
#1
Thrading hakkında yardım

Aşağıdaki script forumda konusu olan "facebook browser" adlı scriptin biraz değiştirilmiş hali. Facebook browser da sayfanın verilerini alıp gösteriyordu benim yapmaya çalıştığım ise kendi oluşturduğum server dan direk linki verilen dosyayı indirmek.

Ama Python da Threading işlemini henüz yapamadığım için hızı çok düşük.

PHP Kod:
#-*-coding:utf8;-*-
from threading import Thread
from Queue import Queue
import HTMLParser
import urllib2
,requests,base64,zlib
import re
,sys,urllib,time,os
import platform
,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
:
 
       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
    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
else:
 
   try:
 
       import mechanize
    except
:
 
       yaz("Gerekli modüller yükleniyor...\n")
 
       subprocess.call(["python","-m","pip","install","mechanize"])
 
       import mechanize
    try
:
 
       from bs4 import BeautifulSoup
    except
:
 
       subprocess.call(["python","-m","pip","install","bs4"])
 
       from bs4 import BeautifulSoup


HTMLParser.HTMLParser()
br mechanize.Browser()
br.set_handle_robots(False)
br.addheaders = [('User-agent''Mozilla/5.0 (compatible; Konqueror/3; Linux)')]
face='https://developers.facebook.com/tools/debug/echo/?q='
vps='http://18.197.133.16/'
django='http://18.197.133.16:8000/'
y='Facebook File downloader'
a='http://www.qpython.club'
c='by Ethnic'
des'#'*60
yaz
(des+'\n\n- '+y+'\n\n- '+a+'\n\n- '+c+'\n\n'+des+'\n',0.006)

def parcala():
 
   url=raw_input("\nlink gir:")
 
   info br.open(face+django+"info/?info="+base64.b64encode(url)).read()
 
   try:
 
       info info.split("bas--")[1].split("--son")[0]
 
       a=500000  #in byte
 
       value info.split("boyut=")[1].split("--")[0]
 
       typefile info.split("type=")[1].split("--")[0]
 
       etag info.split("e-tag="")[1].split(""--")[0]
 
       toplam_part info.split("toplam_part=")[1].split("--")[0]
 
       numsplits int(value) / int(a)
 
       yaz("\n\nboyut="+str(int(value)/int(1024*1024))+"MB"+"\n"+"type="+str(typefile)+"\n"+"e-tag="+str(etag)+"\n"+"toplam_part="+str(numsplits)+"\n")
 
   except:
 
       yaz("direk indirme linki degil!")
 
       quit()
 
   lst = []
 
   for i in range(numsplits):
 
       if i == 0:
 
           lst.append('%s-%s' % (int(i), int(round(int(i) * int(value)/(numsplits*1.0) + int(value)/(numsplits*1.0)-10))))
 
       else:
 
           lst.append('%s-%s' % (int(round(int(value)/(numsplits*1.0),0)), int(round(int(i) * int(value)/(numsplits*1.0) + int(value)/(numsplits*1.0)-10))))
 
   dosyaismi=raw_input("isim:")
 
   dosya=open(dosyaismi,"w+b")
 
   sira=0
    for aralik in lst
:
 
       reqbr.open(face+django+"faceden/?veri="+base64.b64encode(url)+","+base64.b64encode(str(aralik))).read()
 
       #time.sleep(2)
 
       base req.split("bas--")[1].split("--son")[0]
 
       dosya.write(zlib.decompress(base64.b64decode(base)))
 
       yaz("\n"+str(sira)+"/"+str(toplam_part)+" part bitti",0.001)
 
       sira+=1
    dosya
.close
    yaz
("indirme bitti")
 
   return lst

    

if platform.platform().startswith("Linux"):        
    try
:
 
       mail=open("/sdcard/mail.txt")
 
       mail=mail.read()    
    except
   
        mail
=open("/sdcard/mail.txt","w")
 
       mail=mail.write(raw_input("\nFacebook email   : ")) 
 
       mail=open("/sdcard/mail.txt")
 
       mail=mail.read()
 
       
    try
   
        pasw
=open("/sdcard/pasw.txt")
 
       pasw=pasw.read()    
    except
:
 
       pasw=open("/sdcard/pasw.txt","w")
 
       pasw=pasw.write(raw_input("\nFacebook şifre   : ")) 
 
       pasw=open("/sdcard/pasw.txt")
 
       pasw=pasw.read()
else:
 
   try:
 
       mail=open("mail.txt")
 
       mail=mail.read()    
    except
   
        mail
=open("mail.txt","w")
 
       mail=mail.write(raw_input("\nFacebook email   : ")) 
 
       mail=open("mail.txt")
 
       mail=mail.read()
 
       
    try
   
        pasw
=open("pasw.txt")
 
       pasw=pasw.read()    
    except
:
 
       pasw=open("pasw.txt","w")
 
       pasw=pasw.write(raw_input("\nFacebook şifre   : ")) 
 
       pasw=open("pasw.txt")
 
       pasw=pasw.read()



try: 
   
    yaz
('\nFacebook yükleniyor...')
 
   op=br.open("https://facebook.com")
 
   username=mail
    password
=pasw
    yaz
'\n\nKullanici verileri isleniyor...')
 
   br.select_form(nr=0)
 
   br.form["email"]=username
    br
.form["pass"]=password
    br
.method="POST"
 
   br.submit()
 
   yaz"\n\nFacebook'a giriş yapılıyor...")
 
   text=br.open("https://facebook.com").read()
except:
 
   yaz('\nBir hata oluştu! Tekrar deneyin.\n')
 
   quit()

 
   
if(text.find("home_icon",0,len(text))!=-1):
 
   yaz'\n\nGiriş yapıldı.')
else:
 
   yaz'\n\nGiriş Yapılamadı! Lütfen Giriş bilgilerinizi kontrol ediniz\n')
 
   
    if platform
.platform().startswith("Linux"):
 
       try:
 
           os.remove("/sdcard/mail.txt")
 
           os.remove("/sdcard/pasw.txt")
 
           quit()
 
       except:
 
           pass
            quit
()
 
   else:
 
       try:
 
           os.remove("mail.txt")
 
           os.remove("pasw.txt")
 
           quit()
 
       except:
 
           pass
            quit
()
parcala() 

Burada "req= br.open(face+django+"faceden/?veri="+base64.b64encode(url)+","+base64.b64encode(str(aralik))).read()" bu işlemi thread ile çoğaltırsam sanırım hızı artacak.
(Son Düzenleme: 04-07-2018, Saat: 17:25, Düzenleyen: oktay811.)
04-07-2018, Saat: 17:21
Cevapla
04-07-2018, Saat: 17:47,
Çevrimdışı
Vip üye
Vip Üye
Üyelik Tarihi: 24-01-2017
Mesajlar : 532
Konular:
Rep Puanı: 3
#2
Cvp: Thrading hakkında yardım

Not: Server amazon olduğu için açık kalınca ve internet harcayınca para kesiyor Smile o yüzden kapattım. Hata alabilirsiniz
04-07-2018, Saat: 17:47
Cevapla
04-07-2018, Saat: 17:56,
Çevrimdışı
Kıdemli Üye
Üye Grubu
Üyelik Tarihi: 14-09-2017
Mesajlar : 188
Konular:
Rep Puanı: 1
#3
RE: Thrading hakkında yardım

ne yapmak istediğini anlamadım, faceye yüklü bi dosyayı mı indireceksin normal bi dosyayı mı, bu dosyayı servere mi indireceksin yoksa kendi bilgisayarına mı ?
04-07-2018, Saat: 17:56
Cevapla
04-07-2018, Saat: 17:59, (Son Düzenleme: 04-07-2018, Saat: 18:07, Düzenleyen: oktay811.)
Çevrimdışı
Vip üye
Vip Üye
Üyelik Tarihi: 24-01-2017
Mesajlar : 532
Konular:
Rep Puanı: 3
#4
Cvp: Thrading hakkında yardım

normal internette olan bir dosyanın direk indirme linkini bu scripti çalıştırınca girecem, telefona veya bilgisayara indirecek.

Sistem şu şekilde açıklayım.

"https://developers.facebook.com/tools/debug/echo/?q=" Bu adresin sonuna yazacağın adresleri facebook ham html olarak gösteriyor.
Bende kendi serverime django kurdum facebooktan gelen link ve byte aralığını alıp base64 çevirip gösteriyor. Bende sırasıyla oradan alıp kendi pc veya telefonumda birleştiriyorum. Ama dediğim gibi byte aralığını sırasıyla yaptığı için biraz bekleme oluyor.

Serverdan alınan sonuçları çoğaltabilirsem hızı artar herhalde demi?
(Son Düzenleme: 04-07-2018, Saat: 18:07, Düzenleyen: oktay811.)
04-07-2018, Saat: 17:59
Cevapla
04-07-2018, Saat: 22:21,
Çevrimdışı
Admin
Admin Grubu
Üyelik Tarihi: 02-02-2016
Mesajlar : 5,873
Konular:
Rep Puanı: 105
#5
Cvp: Thrading hakkında yardım

04-07-2018, Saat: 22:21
Cevapla
« Önceki Konu | Sonraki Konu »
Konuyu Okuyanlar: 1 Ziyaretçi



Konu ile Alakalı Benzer Konular
Konular Yazar Yorumlar Okunma Son Yorum
Exclamation YENİ Smtlib Hakkında Compagni 0 386 29-03-2018, Saat: 17:20
Son Yorum: Compagni
  Python Tkinter hakkında yardım gerekiyor. Mehmet Zerey 25 3,386 24-02-2018, Saat: 15:56
Son Yorum: root

Hızlı Menü:

Türkçe Çeviri: MCTR, Forum Yazılımı: MyBB
© 2002-2018 MyBB Group.
ImAdige theme by IMADIGE © 2015.