Kodlar

Başlatan carcass, 06 Şubat 2010 - 20:04:02

« önceki - sonraki »

0 Üyeler ve 1 Ziyaretçi konuyu incelemekte.

carcass

#!/usr/bin/env python
#-*-coding:cp1254-*-

import urllib
params = raw_input("kelime yazin:")
f = urllib.urlopen("http://seslisozluk.com/?word=%s&sbT=Search&ssQBy=0" % params)
print f.read()


bunu çalıştırınca html kaynağını gösteriyor. ben sadece tam karşılığını istiyorum.
iyi akşamlar...

utdmr

Tam karşılığı için bir html parser ile html kodlarını çözmen gerekir, ki pek kısa bir iş değil.

Ancak örneğin sadece <table> <ul> gibi tagların içini alacak bir kod yazabilirsen olabilir anlamı.
Kişisel Blogum: Çoğunlukla Zararsız - cogunluklazararsiz.org
--
Any intelligent fool can make things bigger, more complex, and more violent. It takes a touch of genius -and a lot of courage- to move in the opposite direction.

carcass

#!/usr/bin/python
# -*- coding: utf-8 -*-

import sys, urllib, re

try:
        from PyQt4 import QtCore, QtGui
except(ImportError):
        print "Sisteminizde PyQt4 modülü kurulu değil, lütfen kurun ve tekrar deneyin..."
        sys.exit()

class sozluk:
    def __init__(self, ui):
        self.ui = ui
       
    def kelime_ara(self):
       
        kelime = str(ui.lineEdit.text())
       
        # Eğer arama kutusuna bir şey yazılmamışsa uyarı mesajı gösterilcek.
        if len(kelime) == 0 :
            mesaj = QtGui.QMessageBox()
            mesaj.setWindowTitle(unicode('Uyarı', 'utf-8'))
            mesaj.setText(unicode('Arama kutusuna hiçbir şey yazmadınız !', 'utf-8'))
            mesaj.exec_()
       
        # Eğer arama kutusuna bir şey yazılmışsa kelime araması yapılacak.
        elif len(kelime) != 0 :
            sitede_ara = "http://www.seslisozluk.com/?word=" + kelime     
            site = urllib.urlopen(str(sitede_ara))
            veri = site.read()
       
            metin_ara = re.search('<b>1.(.*)<br></', veri).group(0)
            ui.textEdit.setText(unicode(metin_ara, 'iso-8859-9')) 

    def temizle(self):
        ui.lineEdit.setText('')
        ui.textEdit.setText('')


http://www.frmtr.com/programlama/1773335-ingilizce-turkce-online-sozluk-pyqt.html
unu buldumu? re odülü kullanmış, yardım edebilr misiniz bu konuda?

ebubekirs

#!/usr/bin/env python
#-*-coding:cp1254-*-

import urllib
params = raw_input("kelime yazin:")
f = urllib.urlopen("http://seslisozluk.com/?word=%s&sbT=Search&ssQBy=0" % params)
s = f.read()
a = s.index('span></td> <td class="m">')
m = s.index('">',a)
n = s.index(' ',m)
p = a+25
print s[p:n]


Biraz komik bir kod oldu ancak işe yarıyor, ilk rastladığı karşılığı getiriyor.
Dünyaya gelen de benim, dünyadan giden de benim

ebubekirs

Biraz daha düzelttim. 2 kelime olan sonuçları da alıyor.

#!/usr/bin/env python
#-*-coding:cp1254-*-

import urllib
params = raw_input("kelime yazin:")
f = urllib.urlopen("http://seslisozluk.com/?word=%s&sbT=Search&ssQBy=0" % params)
s = f.read()
a = s.index('span></td> <td class="m">')
m = s.index('">',a)
n = s.index(' ',m)
p = a+25
if s[n:n+2] == ' &':
        print s[p:n]
else:
        l = s.index('<',m)
        print s[p:l]
Dünyaya gelen de benim, dünyadan giden de benim

carcass

@ebubekirs, teşekkürler ayrdımın için ama sadece ilk anlamı çıkıyor. benim verdiğim sitede o programın kodları vardı. o şekil diyorum, 1.,2.,3.,... diye giden şekilde... yapılabilir mi?

iyi geceler...

ebubekirs

Elbette yapılabilir :) Lakin benim python bilgim yeterli değil. Biraz uğraşacağım, daha iyi bilen arkadaşlar da yardımcı olacaktır.
Dünyaya gelen de benim, dünyadan giden de benim

carcass

Alıntı yapılan: ebubekirs - 07 Şubat 2010 - 01:13:29
Elbette yapılabilir :) Lakin benim python bilgim yeterli değil. Biraz uğraşacağım, daha iyi bilen arkadaşlar da yardımcı olacaktır.

3. cevaba (benim 2. cevabıma) bi bakınız, ben orada pyQt modülünü nasıl ekleycem kendi bilgisayarımda?(hem ubuntu-hem windows için)