Exemple #1
0
def load_arsiv_page(driver, adres):
    global sayfasay
    if adres[-1] == '/': adres = adres[:-1]
    base_url = get_base_url(adres)
    driver.get(adres)
    elements = driver.find_elements_by_xpath("//li/a[@href]")
    for a in elements:
        b = a.get_attribute('href')
        if b[-1] == '/': b = b[:-1]
        if b == base_url: continue
        if not b.startswith(base_url): continue
        if b == adres: continue
        sayfasay += 1
        print("{} {} {:05d} {}".format(turlib.damga(),
                                       turlib.gecen_sure(baslama), sayfasay,
                                       b))
        #link başka bir siteye ait olmasın
        if base_url in b:
            sayfa = turlib.sayfaOku(b)
            if sayfa == None: continue
            #sayfadan tüm linkleri kaldır
            for tag in sayfa.findAll('a', href=True):
                tag.extract()

            paragraflar = sayfa.find_all('div',
                                         attrs={'class': 'entry-content'})
            for p in paragraflar:
                #script bölümlerini temizle
                [s.extract() for s in p('script')]
                #div - class=sharedaddy bölümünü temizle
                for div in p.findAll('div', attrs={'class': 'sharedaddy'}):
                    div.extract()
                #http:// ile başlayan ardışık karakterleri sil
                re.sub('(http.*)\s', '', p.text)
                print(p.text)
                print(p.text, file=outfile, flush=True)
                if turkcemi.turkcemi(p.text, fout=outfile) == True:
                    print("Bu metin Türkçedir")
                else:
                    print(
                        "Bu metin Türkçe değildir veya yeterli sayıda geçerli Türkçe sözcük barındırmamaktadır."
                    )
Exemple #2
0
def main():
    #Daha önce ziyaret edilen adreslerin listesini belleğe al
    ziyaret_edilenleri_oku()
    #Daha önce tespit edilen ama henüz ziyaret edilmemiş adresleri belleğe al
    yeni_linkleri_oku()

    #yeni linkler tamamlanıncaya kadar işlemlere devam et
    while len(yeni_linkler) > 0:
        url = yeni_linkler[0].strip()
        base_url = turlib.get_base_url(url)
        print(len(yeni_linkler), url, base_url)
        #Bu adresteki linkleri al
        linkler = turlib.linkleriAl(url)
        for link in linkler:
            if link not in yeni_linkler:
                yeni_linkler.append(link)

        #Bu adresteki sayfayı oku, sadece text haline dönüştür
        #Belli bir boyutun üzerindeyse Türkçe kontrolü yap
        #Uygun boyutta ve Türkçeyse ayrıştırma işlemlerini uygula
        sayfa = turlib.sayfaOku(url)
        #print(sayfa)

        if base_url == "http://www.gamet.com.tr":
            metin = sayfa.findAll("div", attrs={"class": "entry-container"})
            for sat in metin:
                print(sat.text)
        """
        data = sayfa.findAll(text=True)
        result = filter(visible, data)
        for element in result:
            metin = element.strip()
            if len(metin)>0:
                print(metin)
        """
        #En baştaki adresi ziyaret edilenler listesine ekle ve yeni_linkler listesinden sil
        ziyaret_edilenler.append(url)
        yeni_linkler.pop(0)
Exemple #3
0
def main():
    #Daha önce ziyaret edilen adreslerin listesini belleğe al
    ziyaret_edilenleri_oku()
    #Daha önce tespit edilen ama henüz ziyaret edilmemiş adresleri belleğe al
    yeni_linkleri_oku()

    #yeni linkler tamamlanıncaya kadar işlemlere devam et
    while len(yeni_linkler)>0:
        url = yeni_linkler[0].strip()
        base_url = turlib.get_base_url(url)
        print(len(yeni_linkler),url, base_url)
        #Bu adresteki linkleri al
        linkler = turlib.linkleriAl(url)
        for link in linkler:
            if link not in yeni_linkler:
                yeni_linkler.append(link)

        #Bu adresteki sayfayı oku, sadece text haline dönüştür
        #Belli bir boyutun üzerindeyse Türkçe kontrolü yap
        #Uygun boyutta ve Türkçeyse ayrıştırma işlemlerini uygula
        sayfa = turlib.sayfaOku(url)
        #print(sayfa)

        if base_url=="http://www.gamet.com.tr":
            metin = sayfa.findAll("div",attrs={"class" : "entry-container"})
            for sat in metin:
                print(sat.text)
        """
        data = sayfa.findAll(text=True)
        result = filter(visible, data)
        for element in result:
            metin = element.strip()
            if len(metin)>0:
                print(metin)
        """
        #En baştaki adresi ziyaret edilenler listesine ekle ve yeni_linkler listesinden sil
        ziyaret_edilenler.append(url)
        yeni_linkler.pop(0)
Exemple #4
0
def load_arsiv_page(driver,adres):
    global sayfasay
    if adres[-1]=='/': adres = adres[:-1]
    base_url = get_base_url(adres)
    driver.get(adres)
    elements = driver.find_elements_by_xpath("//li/a[@href]")
    for a in elements:
        b = a.get_attribute('href')
        if b[-1]=='/': b = b[:-1]
        if b == base_url: continue
        if not b.startswith(base_url): continue
        if b == adres: continue
        sayfasay += 1
        print("{} {} {:05d} {}".format(turlib.damga(), turlib.gecen_sure(baslama), sayfasay, b))
        #link başka bir siteye ait olmasın
        if base_url in b:
            sayfa = turlib.sayfaOku(b)
            if sayfa == None: continue
            #sayfadan tüm linkleri kaldır
            for tag in sayfa.findAll('a', href=True):
                tag.extract()

            paragraflar = sayfa.find_all('div',attrs={'class' : 'entry-content'})
            for p in paragraflar:
                #script bölümlerini temizle
                [s.extract() for s in p('script')]
                #div - class=sharedaddy bölümünü temizle
                for div in p.findAll('div', attrs={'class':'sharedaddy'}):
                    div.extract()
                #http:// ile başlayan ardışık karakterleri sil
                re.sub('(http.*)\s','',p.text)
                print(p.text)
                print(p.text,file=outfile,flush=True)
                if turkcemi.turkcemi(p.text,fout=outfile) == True:
                    print("Bu metin Türkçedir")
                else:
                    print("Bu metin Türkçe değildir veya yeterli sayıda geçerli Türkçe sözcük barındırmamaktadır.")
Exemple #5
0
def sayfa_oku(b,basla):
    sayfa = turlib.sayfaOku(b)
    if sayfa == None:
        turkcemi.mesajyaz("{} Sayfa okunamadı: {}".format(modname,b))
        return

    #TODO: link açıklamaları kalkmayacak
    #sayfadan tüm linkleri kaldır
    #for tag in sayfa.findAll('a', href=True):
    #    tag.extract()

    paragraflar = sayfa.find_all('div',attrs={'itemprop' : 'articleBody'})
    if len(paragraflar)==0:
        turkcemi.mesajyaz("Bu sayfada makale bulunmamaktadır.")
        return
    for pr in paragraflar:
        #script bölümlerini temizle
        #[s.extract() for s in pr('script')]

        #http:// ile başlayan ardışık karakterleri sil
        #re.sub('(http.*)\s',' ',pr.text)

        #Başlık ile metin arasında boşluk karakteri olsun
        parag = " ".join(pr.findAll(text=True))
        #Farklı karakterler varsa düzelt
        for i in xharfler.keys():
            parag=re.sub(i,xharfler[i],parag)
        #Başlık ile normal yazı arasına boşluk eklenmesi lazım
        turkcemi.mesajyaz(parag)
        if (turkcemi.turkcemi(parag) == True) and (len(parag)>=400):
            turkcemi.mesajyaz("Bu metin Türkçedir")
            turkcemi.mesajyaz("{} {:06d} {} {}".format(turlib.damgatar(),habersay,modname,b))
            txttest = derlem.TXTDerlemTRText(parag)
            turkcemi.mesajyaz("{} {} Toplam çalışma süresi = {} saniye".format(turlib.damgatar(),modname,time.perf_counter()-basla))
        else:
            turkcemi.mesajyaz(modname+" Bu metin Türkçe değildir veya yeterli sayıda geçerli Türkçe sözcük barındırmamaktadır.")
Exemple #6
0
def load_arsiv_page(driver,adres):
    global sayfasay
    basla = time.perf_counter()
    if adres[-1]=='/': adres = adres[:-1]
    base_url = get_base_url(adres)
    driver.get(adres)
    elements = driver.find_elements_by_xpath("//li/a[@href]")
    for a in elements:
        try:
            b = a.get_attribute('href')
        except Exception as e:
            print("gamet.py Exception -1: {}".format(e))
            print("gamet.py Exception -1: {}".format(e),file=outfile, flush=True)
            continue

        if b[-1]=='/': b = b[:-1]
        if b == base_url: continue
        if not b.startswith(base_url): continue
        if b == adres: continue
        sayfasay += 1
        print("{} gamet.py-2 {} {:05d} {}".format(turlib.damga(), turlib.gecen_sure(baslama), sayfasay, b))
        #link başka bir siteye ait olmasın
        if base_url in b:
            sayfa = turlib.sayfaOku(b)
            if sayfa == None:
                print("gamet.py Sayfa okunamadı: {}".format(b))
                print("gamet.py Sayfa okunamadı: {}".format(b),file=outfile, flush=True)
                continue
            #sayfadan tüm linkleri kaldır
            for tag in sayfa.findAll('a', href=True):
                tag.extract()

            paragraflar = sayfa.find_all('div',attrs={'class' : 'entry-content'})
            if len(paragraflar)== 0:
                paragraflar = sayfa.find_all('div',attrs={'class' : 'entry fix'})
            if len(paragraflar)==0:
                print("Bu sayfada makale bulunmamaktadır.")
                print("Bu sayfada makale bulunmamaktadır.",file=outfile, flush=True)
                continue
            for p in paragraflar:
                #script bölümlerini temizle
                [s.extract() for s in p('script')]
                #div - class=sharedaddy bölümünü temizle
                for div in p.findAll('div', attrs={'class':'sharedaddy'}):
                    div.extract()
                #http:// ile başlayan ardışık karakterleri sil
                re.sub('(http.*)\s','',p.text)
                print(p.text)
                print(p.text,file=outfile,flush=True)
                if (turkcemi.turkcemi(p.text, fout=outfile) == True) and (len(p.text)>=1000):
                    print("Bu metin Türkçedir")
                    print("Bu metin Türkçedir", file=outfile, flush=True)
                    print("{} {:06d} {} {}".format(damga(), sayfasay,'gamet.py-1',b), flush=True)
                    print("{} {:06d} {} {}".format(damga(),sayfasay,'gamet.py',b),file=outfile, flush=True)
                    txttest = TXTDerlemTRText(p.text)
                    print("{} gamet.py Toplam çalışma süresi = {} saniye".format(damga(),time.perf_counter()-basla),flush=True)
                    print("{} gamet.py Toplam çalışma süresi = {} saniye".format(damga(),time.perf_counter()-basla),file=logfile,flush=True)
                else:
                    print("gamet.py Bu metin Türkçe değildir veya yeterli sayıda geçerli Türkçe sözcük barındırmamaktadır.")
                    print("gamet.py Bu metin Türkçe değildir veya yeterli sayıda geçerli Türkçe sözcük barındırmamaktadır.",file=logfile,flush=True)
        else:
             print("gamet.py Link başka siteye aittir: {}".format(b))
             print("gamet.py Link başka siteye aittir: {}".format(b),file=logfile,flush=True)