Hocam ben bitcoin traning botu kullanıyorum vps serverda ve hiçbir programlama dili bilmiyorum, servera geçmişe ait fiyat bilgilerini çekip geçmişe dönük simülasyonlar yapabiliyoruz. Bende bu işi kolaylaştırmak amacıyla botum simls. komut satırınadaki parametleri farklı değerlerin kombinasyonu şeklinde değiştirip simlsynları arttırıyorum, haliyle elime birsürü sonuç dosyası oluyor. bunlar hem zaman hem de serverda hafıza kaybı oluyor...
Sorum şu; simlsyn. dosyalarında değişimin (-....%) veya (0.00%) olan sim dosyalarını silsin, pozitif değişme değişim onlardan farklı ise dosyayı /var/www/html/ konumuna atsın ve bunu 10dk da bir yapsın ki ben kolaylıkla bakabileyim
Aşağıdaki gibi bişeyler yazdım ama her defasında hatalar veriyor, dün akşamdar beri uğraşıyorum. teşekkürler
PHP Kod:
for i in $(grep -l '(*%)' sim*) do s=$(grep -l '(0.00%)' sim*) e=$(grep -l '(-*%)' sim*) p=$(grep -l '(+*%)' sim*)
while [ $i= $p ] do mv $p /var/www/html/ if [ $i=$s ] then rm $s brake else [ $i=$e ] rm $e fi sleep 600 done
Twitter ile otomatik durum güncellemesi sayfası oluşturdum. Bu sayfa üzerinden tweetlerinizi girip gün içerisindeki saate göre gönderilmesini sağlayabilirsiniz.
Sistem bu tweetleri, twitter developer api üzerinden yapıyor. Aynı facebook'ta olduğu gibi twitter'da da geliştiricilere yönelik çalışmalar var. qpython.club adıyla açtığım twitter uygulaması üzerinden twitter hesabınız ile giriş yapıp uygulamanın sizin adınıza tweet göndermesini onaylıyorsunuz. Böylelikle access token sisteme kaydediliyor ve bu erişim jetonu ile uygulama üzerinden tweet gönderebiliyoruz. Ayrıca bu sistemin sizin twitter şifrenize, e-mail adresinize ve kişisel mesajlarınıza vs erişme yetkisi yok.
Kullanıcı paneline giriş için sistem, size rastgele bir şifre belirleyip vereceğiniz e-mail adresine gönderiyor. Bu şifre ile panele girip php sayfası ile sistem kaydettiğiniz tweetleri mysql içerisinde saklıyor (veritabanı). Dilerseniz içerisinden şifrenizi ve e-mail adresinizi değiştirebiliyorsunuz.
Şimdilik tweetler sadece msj olarak gönderiliyor ama ilerleyen zamanlarda resim yükleme ve seçilen resimlerle tweet gönderme alternatifleri yapabilirim.
Normalde sistemin çalışma prensibi dakikada bir veritabanından o dakika için kaydedilmiş tweetleri bulup kullanıcı isim ve tokenlere göre update etmesidir. Fakat sitenin bulunduğu hosting firması dakikada bir cron çalışmasına müsaade etmiyor. O yüzden deneyecek arkadaşların tweet dakikalarını 15 'er dakika aralıklarla yazması gerekecek.
Mesela akşam saat 7 de tweet göndermek istiyorum ama dakikasını 15 ve katlarında yazmak zorundayım. sade 00, 15, 30 ve 45 dakikalarını kullanmak zorundayız.
19:00
19:15
19:30
19:45
gibi... Bu geçici bir durum, kullanıcılardan gelen talebe göre vps üzerinde çalıştırabilirim. Ama dediğim gibi şu an için bu sitenin hostunda çalışıyor ve hosting yöneticileri cron işlerinin minimum 15 'er dakikalık aralıklarla çalışmasına müsaade ediyorlar. Ben de zaten sistemi tam oturtmadığım için vps 'ye gerek duymadım, deneme amaçlı iş görür diye düşündüm. Yoksaki normalde dakikaları ne yazarsanız yazın o fark etmezdi.
Sisteme kaydolan herkesin hesap durumu "Aktif" olarak işaretlenecek ve tweet gönderebilecektir. Konu ile ciddi olarak ilgilenenler için daha sonra ücretli ve tam bir hizmet sağlayabiliriz.
Sistemin Php ve MySQL kodlamaları bana aittir fakat, mail atmak için PHPMailer gibi bazı hazır kütüphaneleri kullandım. Aynı JQery kütüphanelerini herkesin mecbur kullanması gibi :
merhaba arkadaslar facebook a video yükledikten sonra ben o videonun linki ni almıstım,çalısıyordu fakat aradan bir süre gectik suan çalısmıyor bir yardım ederseniz cok memnun olurum.
Bu defa sadece facebook erisiminiz olsa bile youtubedan video arayabilir, sectiginiz videoyu facebook uzerinden dolayli olarak indirebilirsiniz.
Aradığınız videoyu sectikten sonra kod videoyu önce facebook hesabınıza yükleyecek ardından video hesabınıza görünmesini bekleyecek, video hesabınıza yansır yansımaz en yüksek kalitede indirmeye başlayacak..
Kodu kullanmak için acceess token almanız gereklidir, uzun vadeli access token almanız önerilir..
facebook giris bilgilerinizi ve access tokeni bir defa girmeniz yeterlidir, devamında scripti her actığinızda kod giris bigilerinizi ve tokeni ilk girisinizde kaydettiği FaceVideo klsöründen okuyacak. farklı bir hesap yada token kullanacaksanız FaceVideo klasorundeki mail.txt ve passw.txt yada token icin token.txt dosyalarını silin.
ilk kurulumda bazi modüllerin yüklenmesi için bir defaya mahsus normal internet gereklidir.
Önemli Not: Scripti Forumda konusu bulunan Pydroid uyguaması ile çalıştırın..
İPUCU: Koda kolay erişmek için altdaki pytube.py dosyasını sdcard anadizine atın. Pydroidi her açtığınızda import facetube yazıp play düğmesine basarak kodu çalıştırabilirsiniz.. eğer android 6 ve üzeri telefon kullaniyorsaniz bir defaya mahsus Pydroid uygulamasının üst barında bulunan dosya simgesine dokunup 'open' diyerek dosya okuma izni verin aksi halde 'import facetube' diyerek kodu çalıştıramazsınız..
kodla ilgili bir sorun yaşarsanız çekinmeden söyleyin..
'nasıl access token alırım' gibisinden sorulara cevap vermiyorum, forumda facebooka video yukleme konusuna bakın...
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
if windows == True: def yaz(parametre, time_sleep = 0.009): sys.stdout.write(parametre) sys.stdout.flush() else: def yaz(parametre, time_sleep = 0.009): for i in parametre: time.sleep(time_sleep) sys.stdout.write(i) sys.stdout.flush()
y=colored('Proje Adı : FaceTube Video Downloader \n','white','on_blue') a=colored('İletişim : http://www.qpython.club \n','white','on_blue') c=colored('Geliştirici: Ethnic \n','white','on_blue') des= colored('_'*60,'blue',attrs=['bold']) yaz(des+'\n\n'+y+'\n'+a+'\n'+c+'\n'+des+'\n',0.002)
if(text.find("home_icon",0,len(text))!=-1): yaz(colored('\n\n- Başarıyla giriş yapıldı.\n\n','green',attrs=['dark'])+des+'\n\n',0.001) else: yaz(colored('\n\n- Giriş Yapılamadı! Lütfen Giriş bilgilerinizi kontrol ediniz\n','red',attrs=['bold'])) try: os.remove("/sdcard/FaceVideo/mail.txt") os.remove("/sdcard/FaceVideo/pasw.txt") quit() except: try: os.remove("mail.txt") os.remove("pasw.txt") quit() except: quit()
Evet bu sorum Google Adsense'den düzenli olarak ödeme almış olanlara geliyor.
Bildiğiniz gibi panelde tahmini kazançlar ve bakiye bölümü mevcut. Burdaki Tahmini kazaç ile bakiye arasında ne kadar fark oluyor? Veya bir fark oluyor mu? Tahmini kazanç dediğine göre yazılanın aynısını bakiyeye işlemiyor olsa gerek Ya da bir örnek vermek gerekirse; diyelim ki benim tahmini kazançlar bölümünde bu aya dair 200TL var, bakiye kısmına tam olarak ne işler?
Bir ikincisi de bu bakiyeye işlenen miktar kesinleşen miktar mıdır? Bu kısımdan da herhangi bir kesinti vs olur mu?
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(parametre, time_sleep = 0.02): for i in parametre: time.sleep(time_sleep) sys.stdout.write(i) sys.stdout.flush()
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'): b = 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, {'"':'"','&':'&'}) results = re.findall(r'\<h3.*?\>.*?\<\/h3\>', data, re.IGNORECASE) isim=[] adr = [] say = 0 for r in results: say += 1 mtch = re.match(r'.*?a\s*?href=\"(.*?)\".*?\>(.*?)\<\/a\>.*$', r, flags=re.IGNORECASE) url = mtch.group(1) url = re.sub(r'^.*?=', '', url, count=1) # prefixed over urls \url=q? url = re.sub(r'\&.*$', '', url, count=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') yaz( str(say)+ ' - ' + name + '\n'+ciz, 0.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
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(parametre, time_sleep = 0.02): for i in parametre: time.sleep(time_sleep) sys.stdout.write(i) sys.stdout.flush()
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\>', data, re.IGNORECASE) adr = [] say = 0 for r in results: say += 1 mtch = re.match(r'.*?a\s*?href=\"(.*?)\".*?\>(.*?)\<\/a\>.*$', r, flags=re.IGNORECASE) url = mtch.group(1) url = re.sub(r'^.*?=', '', url, count=1) # prefixed over urls \url=q? url = re.sub(r'\&.*$', '', url, count=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'+ciz, 0.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()