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." )
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)
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)
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.")
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.")
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)