Konuyu Oyla:
  • Toplam: 0 Oy - Ortalama: 0
  • 1
  • 2
  • 3
  • 4
  • 5
[YENİ] [Python] Facebook Browser
#1
Bu defa sadece fece paketi ile bile calışan, google'da arama yapan ve arama sonucunda listenen sitelerden sectiğiniz sitenin sayfasindaki yazilari cekebilen bir script yazdım.

internet paketiniz bittiginde bile sadece face paketiyle sitelerden haberleri falan okuyabilir, istediginiz bilgiye erisebilirsiniz..

Yeni paket alana kadar en azindan dunya ile baglantiniz kesilmez, oyalanirsiniz..

Script diger sitelere facebook uzerinden eristigi icin facebook'a giris zorunludur.

script ile bir defa hesabiniza giris yaptiginizda sifrenizi sdcard/mail.txt, sifrenizi pasw.txt dosyasina kaydederek bir daha giriste bilgileri bu dosyalardan okuyacaktır, yani her defasinda tekrar bilgilerinizi girmeye gerek yoktutur.

Script öneri ve eleştirilere açıktır..

Script'i Qpython ile değil Pydroid ile çalıştırın.. Pydroid uygulaması 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:
        
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='
y='Facebook Browser'
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 sayfa_ac(go_link):
    
html br.open(face+go_link).read()
    
data=su.unescape(html, {'"':'"','&':'&'})
    
soup BeautifulSoup(data,'html.parser')
    for 
script in soup(["script""style"]):
        
script.extract()
    
text soup.get_text()
    
lines = (line.strip() for line in text.splitlines())
    
chunks = (phrase.strip() for line in lines for phrase in line.split("  "))
    
text '\n'.join(chunk for chunk in chunks if chunk)
    
yaz'\n\n'+text,0.0001)
    
arama()
    
def arama():
    print 
'\n'
    
google raw_input('Google\'da Ara : ')
    
google=google.replace(' ','+')
    
query urllib.quote(google)
    
url "https://www.google.com.tr/search?q="+query
    
try:
        
ac br.open(face+url)
        print 
'\n'
        
html ac.read()
    
except:
        
yaz('\n\n-Bağlantı hatası! Veri bağlantısının açık olduğundan emin olun.')
        
quit()
    if 
len(a) != 23 or len(c) != 9:
        
quit()
    else:
        
pass
    
try:
        
data=su.unescape(html, {'"':'"','&':'&'})
        
results re.findall(r'\<h3.*?\>.*?\<\/h3\>'datare.IGNORECASE)
        
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)
            
ciz='-'*60
            yaz
str(say)+ ' - ' name '\n'+ciz0.0005)
    
except:
        
pass
    
if not adr:
        
yaz('\n- Sonuç bulunamadı! Tekrar deneyin.\n')
        
arama()
    else:
        
pass
        
    
print '\n'
    
yanlis False
    
while not yanlis:
        try:
            
git raw_input('Site Numarası : ')
            
go_link adr[int(git)-1]
            
yaz'\n\n'+adr[int(git)-1])
            
sayfa_ac(go_link)
        
except:
            
yaz('\n- Lütfen site numarasını doğru giriniz!\n')
            
pass
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
()
    
    

arama() 
Ara
Cevapla
#2
eline sağlk, müsai olduğumda deneyecem. Daha doğrusu facebook paketi tanımlatınca, daha tanımlatmadım Smile Pc de biraz film dizi falan var, o yüzden pek ihtiyaç duymadım face paketine, dolayısıyla da eleştri için biraz bekletebilirim seni, eğer tabi istediğin buysa Big Grin
Turbobit Premium Link Çeviri | Turbobit Link Generator | http://turbobit.qpython.club
Cevapla
#3
o kadar beklemene gerek yok Smile normal paketle de calisiyor Smile
Ara
Cevapla
#4
illaki çalışır ama detaylı test ederken facabook paketi daha iyi olur diye demiştim. Bu kabaca göz attım, platform koşulunda linux dışı durum için "/sdcard" kullanmışın Smile Pc için klasör belirmeye gerek yok, direkt txt ismini yazarsan kodun çalıştığı yere açar dosyayı. Olmadı ben düzenlerim pc için. Aslında aklımda başka şeyler de var ama bunların hepsine bi ara face paketi tanımlattığımda bakarım diye düşünüyodum. Bu kodda kullandığın yöntemi geliştirmek gerek...
Turbobit Premium Link Çeviri | Turbobit Link Generator | http://turbobit.qpython.club
Cevapla
#5
yaw ben ilkinden kopyala yapistir yapmistim düzenliyecem diye unutmuşum Big Grin hemen düzeltiyorum.. Smile aslinda pydroid sadece pc icin verdigin dosya yolunu da sdcard'a atiyor, gerek yoktu onlari yazmaya ama iste .. Smile

benimde fikirlerim var ama nasil yapacağimi bilmiyorum. bunu bir ara konusalim sorularim var Smile
Ara
Cevapla
#6
tamam konuşuruz tabi, ne demek Smile
Turbobit Premium Link Çeviri | Turbobit Link Generator | http://turbobit.qpython.club
Cevapla
#7
like
Ara
Cevapla
#8
güzel olmuş. sadece haber okumak içinse mercury api yi kullanabilirsin hem gereksiz yazıları çekmez. sadece haberi ve resmi çeker
python ve javascript dünyada en çok yazılan iki dil.
c kadar hızlı python kadar syntaxı kolay olan julia da geleceğin dilleri arasında..
Ara
Cevapla
#9
eyvallah sağol.. mercury icin baktım modülü var ama nedense yüklenmiyor hata veriyor..
Ara
Cevapla
#10
hocam çok teşekkür ederim eline sağlık ,bu kodu pcde kullanmak mümkün mü?
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,101 27-11-2022, Saat: 17:59
Son Yorum: perry
Question Python Dili Soru & Cevap gecemor 1,493 1,062,624 08-11-2022, Saat: 11:18
Son Yorum: Antonyobanderas
  GÜNCEL Python request , c# request e göre çok yavaş ne yapabilirim perry 12 2,810 28-09-2022, Saat: 20:27
Son Yorum: krast
  YENİ Python Pyqt5 memory leak sorunu perry 3 1,210 28-09-2022, Saat: 11:33
Son Yorum: gecemor
  YENİ PYTHON ads approval CaglarDevv 2 1,370 04-07-2022, Saat: 01:23
Son Yorum: CaglarDevv

Hızlı Menü:


Konuyu Okuyanlar: 1 Ziyaretçi
Change Theme