Python İle "Konuda Yeni Mesaj Varmı" Kontrolü
-
müridler forumda cevap varmı diye sayfayı yenilemek yerine python ile küçük bir kod yazdım.
ana mantığı istediğiniz id li konunun html ine girip "Konuda x mesaj var" kısmını ayırarak x değerini buluyor.işte kodlar;
# -*- coding: cp1254 -*-
import urllib,time
bekleme=10 #kaç saniye bekleyecek?
def kontrol(id):
parametre = urllib.urlencode({'folderid': id})
link = urllib.urlopen("http://www.tahribat.com/forumdisplayfolder.asp", parametre)
html=link.read()
htmlbol=html.split('Konuda ')
htmlbol2=htmlbol[1].split(' ',1)
print 'Mesaj sayısı: '+htmlbol2[0]
print 'ID yi girin:'
id=raw_input()
tekrar=10
while True:
if tekrar>=bekleme:
tekrar=0
kontrol(id)
else:
tekrar+=1
time.sleep(1)açıklayacak olursak:
# -*- coding: cp1254 -*-
Türkçe karakterleri göstermesi için
import urllib,time
urllib sitenin html sini almak için, time bekletmek için (bunlar pythonun standart olarak içinde bulunan modüller)
bekleme=10 #kaç saniye bekleyecek?
her yenileme kaç saniyede bir oluyor
def kontrol(id):
id adlı bir argümanı bulunan bir fonksiyon açtık
parametre = urllib.urlencode({'folderid': id})
link = urllib.urlopen("http://www.tahribat.com/forumdisplayfolder.asp", parametre)Parametrelerimiz url'ye ?folderid:xxx şeklinde giriyor. isterseniz direk bu şekilde de yapabilirsiniz
html=link.read()
linkten aldığımız bilgileri okuyoruz
htmlbol=html.split('Konuda ')
Konuda yazan kısımdan ayırıyoruz (başındaki html kodları eğer mesajın içinde de 'Konuda' kelimesi geçiyorsa ona dokunmasın diye)
htmlbol2=htmlbol[1].split(' ',1)
'Konuda' kelimesinden sonraki kısmı boşluktan ayırıyoruz. Sadece 1 kere ayırıyorum zaten gerisini kullanmayacağız.
print 'Mesaj sayısı: '+htmlbol2[0]
yazdırma komutu
print 'ID yi girin:'
id=raw_input()raw_input() fonksiyonu bizim bir değer girmemizi bekler
tekrar=10
beklemeyi burada ayarlıyorum
while True:
sonsuz bir döngü yapmak için
if tekrar>=bekleme:
tekrar=0
kontrol(id)tekrar büyük yada eşitse beklemeye tekrar sıfırlansın ve kontrol mesajlar edilsin
else:
tekrar+=1değilse tekrar 1 artsın
time.sleep(1)
1 saniye beklesin
artık isterseniz pygame ile yeni mesaj varsa sesli uyarı verdirirsiniz, isterseniz pyqt ile program görünümü katarsınız
-
dur bende asp sini kasayım :D
-
mod başlığı değiştirsin Python & Asp ile olacak :D:D
<%
Function BinaryToString(Binary)
Dim cl1, cl2, cl3, pl1, pl2, pl3
Dim L
cl1 = 1
cl2 = 1
cl3 = 1
L = LenB(Binary)
Do While cl1<=L
pl3 = pl3 & Chr(AscB(MidB(Binary,cl1,1)))
cl1 = cl1 + 1
cl3 = cl3 + 1
If cl3>300 Then
pl2 = pl2 & pl3
pl3 = ""
cl3 = 1
cl2 = cl2 + 1
If cl2>200 Then
pl1 = pl1 & pl2
pl2 = ""
cl2 = 1
End If
End If
Loop
BinaryToString = pl1 & pl2 & pl3
End Function
On error resume next
site = "http://tahribat.com/forumdisplayfolder.asp?folderid=88448"
Set HTTP = Server.CreateObject("Microsoft.XMLHTTP" )
HTTP.Open "Get" , site, False
HTTP.SEnd
Sayfa_Al = BinaryToString(HTTP.ResponseBody)
Set HTTP = Nothing
Basla = InStr(1,Sayfa_Al, "Konuda " , 1)
copyg="copyright by foxxly"
Bitir = InStr(Basla, Sayfa_Al, "mesaj var." , 1) - Basla
foxxly = Mid(Sayfa_Al, Basla, Bitir)
response.write foxxly &"mesaj var :F
"©g&""
%>çıktısı : http://www.foxxly.com/tahribat-com.asp
bu mesajı yazdığım sıra :
Konuda 2 mesaj var :F
copyright by foxxlyhttp://tahribat.com/forumdisplayfolder.asp?folderid=88448 şu sayfayı saydırdım ;)
foxxly rulz :Ç
-
pyqt ile ilerlettiğim uygulama(asp nin gücünü aşan bi olay :)

bunun için pyqt modulüne ihtiyacınız var
kodları burada:
import sys,urllib,time
from PyQt4 import QtCore, QtGui
class Ui_MainWindow(object):
def setupUi(self, MainWindow):
MainWindow.setObjectName("MainWindow")
MainWindow.resize(242, 125)
self.centralwidget = QtGui.QWidget(MainWindow)
self.centralwidget.setObjectName("centralwidget")
self.pushButton = QtGui.QPushButton(self.centralwidget)
self.pushButton.setGeometry(QtCore.QRect(100, 10, 131, 21))
self.pushButton.setObjectName("pushButton")
self.lineEdit = QtGui.QLineEdit(self.centralwidget)
self.lineEdit.setGeometry(QtCore.QRect(10, 10, 81, 21))
self.lineEdit.setObjectName("lineEdit")
self.label = QtGui.QLabel(self.centralwidget)
self.label.setGeometry(QtCore.QRect(10, 40, 221, 51))
self.label.setObjectName("label")
MainWindow.setCentralWidget(self.centralwidget)
self.menubar = QtGui.QMenuBar(MainWindow)
self.menubar.setGeometry(QtCore.QRect(0, 0, 242, 22))
self.menubar.setObjectName("menubar")
MainWindow.setMenuBar(self.menubar)
self.statusbar = QtGui.QStatusBar(MainWindow)
self.statusbar.setObjectName("statusbar")
MainWindow.setStatusBar(self.statusbar)
self.retranslateUi(MainWindow)
QtCore.QMetaObject.connectSlotsByName(MainWindow)
QtCore.QObject.connect(self.pushButton,QtCore.SIGNAL("clicked()"),self.bak)
def retranslateUi(self, MainWindow):
MainWindow.setWindowTitle(QtGui.QApplication.translate("MainWindow", "Tahribat Mesaj Kontrol", None, QtGui.QApplication.UnicodeUTF8))
self.pushButton.setText(QtGui.QApplication.translate("MainWindow", "Kontrol", None, QtGui.QApplication.UnicodeUTF8))
self.lineEdit.setText(QtGui.QApplication.translate("MainWindow", "id", None, QtGui.QApplication.UnicodeUTF8))
self.label.setText(QtGui.QApplication.translate("MainWindow", "id kısmına id yi girin", None, QtGui.QApplication.UnicodeUTF8))
def bak(self):
id=ui.lineEdit.text()
kontrol(id)
app = QtGui.QApplication(sys.argv)
window = QtGui.QMainWindow()
ui = Ui_MainWindow()
ui.setupUi(window)
def kontrol(id):
parametre = urllib.urlencode({'folderid': id})
link = urllib.urlopen("http://www.tahribat.com/forumdisplayfolder.asp", parametre)
html=link.read()
htmlbol=html.split('<font face="Verdana,arial,helvetica" size="2">Konuda ')
htmlbol2 =htmlbol[1].split(' ',1)
yaz='Konuda '+htmlbol2[0]+' mesaj var'
print yaz
ui.label.setText(yaz)
window.show()
sys.exit(app.exec_()) -
ASP nin Gücü Adına Hiimeennnn :F
http://www.foxxly.com/tahribat-com.asp
isterseniz sesli mesaj şeklindede uyarı verdirebiliris :D
-
demek istediğimi anlamadın sanırım. python ile masaüstü programı hazırlanabiliyor. yaptığımda bu zaten. asp ancak web üzerinden kullanılabiliyor. python her yerde kullanılabiliyor symbian da bile.
-
Pythonun en sevdigim tarafı çok hızlı script yazabilmemi sagladı ve bazen müşteriye program göstericek test için yada prototip programları hep pythonla yazıyoruz.
