deezwend
Decapat
- Katılım
- 28 Haziran 2021
- Mesajlar
- 279
- Çözümler
- 4
Daha fazla
- Cinsiyet
- Erkek
Merhabalar, Python Selenium'da, Ekşi Sözlük'e girip bir entry'deki bütün entryleri çektiren bir uygulama yazdım.
Fakat bir sıkıntım var. Program son entry sayfasına gelip oradaki entryleri de çektikten sonra programın kapanmasını istiyorum.
7-8 tane farklı method denedim yapmak için fakat nâfile. Yardımcı olabilirseniz çok sevinirim. Kodlarım aşağıda.
Fakat bir sıkıntım var. Program son entry sayfasına gelip oradaki entryleri de çektikten sonra programın kapanmasını istiyorum.
7-8 tane farklı method denedim yapmak için fakat nâfile. Yardımcı olabilirseniz çok sevinirim. Kodlarım aşağıda.
Python:
from selenium import webdriver
from selenium.webdriver.common.by import By as by
from selenium.webdriver.common.keys import Keys as keys
import time
import os
import sys
from tkinter.messagebox import showwarning,showinfo,askyesno
demet = ("e","h")
class EntryCek:
def __init__(self,link):
self.browser = webdriver.Chrome()
self.link = link
self.count2 = 0
def bir_basliga_gir(self):
self.browser.get(self.link)
time.sleep(3)
eksi_sozluk.entry_cekmeye_basla()
def entry_cekmeye_basla(self):
with open("entryler.txt","a",encoding="utf-8") as f:
def entry_cek():
entryler = self.browser.find_elements(by.CSS_SELECTOR, ".content")
self.sayfa_sayisi = self.browser.find_element(by.CSS_SELECTOR,".last")
count = 0
self.sayfa = 0
kontrol = True
for i in entryler:
count += 1
self.count2 += 1
print(f"{self.count2}.entry çekildi.")
f.write(f"{self.count2}."+"\n"+i.text + "\n\n*************************************************************\n\n")
while kontrol:
if count == 10:
self.sayfa += 1
count = 1
time.sleep(1.5)
self.browser.find_element(by.CLASS_NAME, "next").click()
time.sleep(3.5)
return entry_cek()
entry_cek()
while True:
entry_link = input("Ekşi sözlük entry linki gir: ")
if not entry_link[0:23] == "https://eksisozluk.com/":
showwarning(message="Sadece ekşi sözlük entry linkleri gir")
showinfo(message="Eğer url başına 'https://' eklemediysen ekle.")
else:
eksi_sozluk = EntryCek(entry_link)
eksi_sozluk.bir_basliga_gir()
break
Son düzenleyen: Moderatör: