Bu yazımda sizlere pratik niyetinde bir python yazılımı göstereceğim.
Yazılımın amacı karşıdaki kişinin whatsapp son görülmesi kapalı da olsa onu görebilmektir.
Kodlar şu şekilde:
from selenium import webdriver
import smtplib
import time
from os import system as sys
from datetime import datetime as dt
import locale
locale.setlocale(locale.LC_ALL, '')
path = "geckodriver.exe nin yolu"
browser = webdriver.Firefox(executable_path=path)
browser.get('https://web.whatsapp.com/')
time.sleep(30)
browser.find_element_by_xpath('XPath Kodu').click() ## Burada Seçtiğiniz XPath'i Giriyorsunuz
class Mail():
def __init__(self):
self.__topic = "Kullanıcı Son Görülme"
def sendMail(self,bot_mail,owner_mail,password,message):
self.__bot_mail = bot_mail
self.__owner_mail = owner_mail
self.__password = password
self.__message = message
server = smtplib.SMTP("smtp.gmail.com:587")
server.starttls()
server.login(self.__bot_mail,self.__password)
server.sendmail(self.__bot_mail,self.__owner_mail,self.__message)
server.quit()
def getBotMail(self):
return self.__bot_mail
def getOwnerMail(self):
return self.__owner_mail
def getMessage(self):
return self.__message
def getTopic(self):
return self.__topic
def getInfo(self,info_msg):
self.__info_msg = info_msg
self.__email_text = f"""
Nereden: {self.__bot_mail}
Nereye: {self.__owner_mail}
Konu: {self.__topic}
Mesaj:
{self.__info_msg}
"""
print(self.__email_text)
def printConsoleText(self,text):
self.__text = text
print(self.__text)
def firstEnter(self): ## Online Object
self.__f_enter = dt.now() ## First Entering Time Saved
self.__f_seen_date = dt.strftime(self.__f_enter,'%A.%B.%Y.%X Tarihinde Giriş Yaptı')
self.__f_seen = [self.__f_enter.day,self.__f_enter.month,self.__f_enter.year,self.__f_enter.hour,self.__f_enter.minute]
def lastEnter(self): ## Offline Object
self.__l_enter = dt.now() ## Last Entering Time Saved
self.__l_seen_date = dt.strftime(self.__l_enter,'%A.%B.%Y.%X Tarihinde Çıkış Yaptı') ## Console Message
self.__l_seen = [self.__l_enter.day,self.__l_enter.month,self.__l_enter.year,self.__l_enter.hour,self.__l_enter.minute] ## Mail Message
def getLastSeen(self): ## Only Offline Object
return self.__l_seen
def getFirstSeen(self): ## Only Online Object
return self.__f_seen
def getFirstSeenDate(self):
return self.__f_seen_date
def getLastSeenDate(self):
return self.__l_seen_date
kontrol = True
kontrol2 = True
kontrol3 = False
while True:
try:
browser.find_element_by_xpath("//span[text()='çevrimiçi']")
if kontrol == True:
msg = "Cevrimici!"
online = Mail()
online.sendMail('gönderici maili','alıcı maili','Gönderici Epostanın Sfresi',msg) ## Buraya Kendi E-posta Şifre Bilgilerinizi Gİrin
sys("cls")
online.getInfo(msg)
online.firstEnter()
#f_enter = dt.now() ## First Entering Time Saved
#f_seen_date = dt.strftime(f_enter,'%A.%B.%Y.%X Tarihinde Giriş Yaptı')
#f_seen = [f_enter.day,f_enter.month,f_enter.year,f_enter.hour,f_enter.minute]
beginning = time.time()
kontrol = False
kontrol2 = True
kontrol3 = True
except:
kontrol = True
if kontrol2 == True:
msg2 = "Cevrim Disi!"
offline = Mail()
offline.sendMail('gönderici maili','alıcı maili','Gönderici Epostanın Sifresi',msg2) ## Buraya Kendi E-posta Şifre Bilgilerinizi Gİrin
sys("cls")
offline.getInfo(msg2)
offline.lastEnter()
#l_enter = dt.now() ## Last Entering Time Saved
#l_seen_date = dt.strftime(l_enter,'%A.%B.%Y.%X Tarihinde Çıkış Yaptı') ## Console Message
#l_seen = [l_enter.day,l_enter.month,l_enter.year,l_enter.hour,l_enter.minute] ## Mail Message
if kontrol3 == True:
final_situation = Mail()
how_many_sec_online = time.time() - beginning
txt1 = "Bu tarihte girdi: "
txt2 = "Bu tarihte cikti: "
txt3 = "Bu kadar cevrimici kaldi: "
txt4 = "sn"
online_time_msg = f"""
{str(txt1)} {str(online.getFirstSeen())}
{str(txt3)} {str(int(how_many_sec_online))} {str(txt4)}
{str(txt2)} {str(offline.getLastSeen())}
"""
final_situation.sendMail('gönderici maili','alıcı maili','Gönderici Epostanın Sifresi',online_time_msg)
console_text = f"""
Nereden: {str(offline.getBotMail())}
Nereye: {str(offline.getOwnerMail())}
Konu: {str(offline.getTopic())}
Cevrimici Kaldi: {str(int(how_many_sec_online))} sn
Ne zaman girdi: {str(online.getFirstSeenDate())}
Ne zaman çıktı: {str(offline.getLastSeenDate())}
"""
final_situation.printConsoleText(console_text)
beginning = time.time()
kontrol2 = False
Kodlar tamamen bana aittir, istediğiniz soruyu yanıt olarak yada pm yoluyla sorabilirsiniz, iyi kodlamalar.
Yazılımın amacı karşıdaki kişinin whatsapp son görülmesi kapalı da olsa onu görebilmektir.
Kodlar şu şekilde:
from selenium import webdriver
import smtplib
import time
from os import system as sys
from datetime import datetime as dt
import locale
locale.setlocale(locale.LC_ALL, '')
path = "geckodriver.exe nin yolu"
browser = webdriver.Firefox(executable_path=path)
browser.get('https://web.whatsapp.com/')
time.sleep(30)
browser.find_element_by_xpath('XPath Kodu').click() ## Burada Seçtiğiniz XPath'i Giriyorsunuz
class Mail():
def __init__(self):
self.__topic = "Kullanıcı Son Görülme"
def sendMail(self,bot_mail,owner_mail,password,message):
self.__bot_mail = bot_mail
self.__owner_mail = owner_mail
self.__password = password
self.__message = message
server = smtplib.SMTP("smtp.gmail.com:587")
server.starttls()
server.login(self.__bot_mail,self.__password)
server.sendmail(self.__bot_mail,self.__owner_mail,self.__message)
server.quit()
def getBotMail(self):
return self.__bot_mail
def getOwnerMail(self):
return self.__owner_mail
def getMessage(self):
return self.__message
def getTopic(self):
return self.__topic
def getInfo(self,info_msg):
self.__info_msg = info_msg
self.__email_text = f"""
Nereden: {self.__bot_mail}
Nereye: {self.__owner_mail}
Konu: {self.__topic}
Mesaj:
{self.__info_msg}
"""
print(self.__email_text)
def printConsoleText(self,text):
self.__text = text
print(self.__text)
def firstEnter(self): ## Online Object
self.__f_enter = dt.now() ## First Entering Time Saved
self.__f_seen_date = dt.strftime(self.__f_enter,'%A.%B.%Y.%X Tarihinde Giriş Yaptı')
self.__f_seen = [self.__f_enter.day,self.__f_enter.month,self.__f_enter.year,self.__f_enter.hour,self.__f_enter.minute]
def lastEnter(self): ## Offline Object
self.__l_enter = dt.now() ## Last Entering Time Saved
self.__l_seen_date = dt.strftime(self.__l_enter,'%A.%B.%Y.%X Tarihinde Çıkış Yaptı') ## Console Message
self.__l_seen = [self.__l_enter.day,self.__l_enter.month,self.__l_enter.year,self.__l_enter.hour,self.__l_enter.minute] ## Mail Message
def getLastSeen(self): ## Only Offline Object
return self.__l_seen
def getFirstSeen(self): ## Only Online Object
return self.__f_seen
def getFirstSeenDate(self):
return self.__f_seen_date
def getLastSeenDate(self):
return self.__l_seen_date
kontrol = True
kontrol2 = True
kontrol3 = False
while True:
try:
browser.find_element_by_xpath("//span[text()='çevrimiçi']")
if kontrol == True:
msg = "Cevrimici!"
online = Mail()
online.sendMail('gönderici maili','alıcı maili','Gönderici Epostanın Sfresi',msg) ## Buraya Kendi E-posta Şifre Bilgilerinizi Gİrin
sys("cls")
online.getInfo(msg)
online.firstEnter()
#f_enter = dt.now() ## First Entering Time Saved
#f_seen_date = dt.strftime(f_enter,'%A.%B.%Y.%X Tarihinde Giriş Yaptı')
#f_seen = [f_enter.day,f_enter.month,f_enter.year,f_enter.hour,f_enter.minute]
beginning = time.time()
kontrol = False
kontrol2 = True
kontrol3 = True
except:
kontrol = True
if kontrol2 == True:
msg2 = "Cevrim Disi!"
offline = Mail()
offline.sendMail('gönderici maili','alıcı maili','Gönderici Epostanın Sifresi',msg2) ## Buraya Kendi E-posta Şifre Bilgilerinizi Gİrin
sys("cls")
offline.getInfo(msg2)
offline.lastEnter()
#l_enter = dt.now() ## Last Entering Time Saved
#l_seen_date = dt.strftime(l_enter,'%A.%B.%Y.%X Tarihinde Çıkış Yaptı') ## Console Message
#l_seen = [l_enter.day,l_enter.month,l_enter.year,l_enter.hour,l_enter.minute] ## Mail Message
if kontrol3 == True:
final_situation = Mail()
how_many_sec_online = time.time() - beginning
txt1 = "Bu tarihte girdi: "
txt2 = "Bu tarihte cikti: "
txt3 = "Bu kadar cevrimici kaldi: "
txt4 = "sn"
online_time_msg = f"""
{str(txt1)} {str(online.getFirstSeen())}
{str(txt3)} {str(int(how_many_sec_online))} {str(txt4)}
{str(txt2)} {str(offline.getLastSeen())}
"""
final_situation.sendMail('gönderici maili','alıcı maili','Gönderici Epostanın Sifresi',online_time_msg)
console_text = f"""
Nereden: {str(offline.getBotMail())}
Nereye: {str(offline.getOwnerMail())}
Konu: {str(offline.getTopic())}
Cevrimici Kaldi: {str(int(how_many_sec_online))} sn
Ne zaman girdi: {str(online.getFirstSeenDate())}
Ne zaman çıktı: {str(offline.getLastSeenDate())}
"""
final_situation.printConsoleText(console_text)
beginning = time.time()
kontrol2 = False
Kodlar tamamen bana aittir, istediğiniz soruyu yanıt olarak yada pm yoluyla sorabilirsiniz, iyi kodlamalar.