Selenium, Random Pages, Entries from eksisozluk

Kategori: Python , 13 Eylül 2019 , JanFranco


Bir önceki yazımda Selenium kurulumunu yapmış ve eksisozluk.com adresinden belirli bir başlığın ilk sayfasındaki entry'leri çekmiştik. Bu yazımda yine bir başlıktan entry çekeceğiz fakat sayfa sayısını random bir şekilde belirleyeceğiz. Kütüphaneyi import ederek başlayalım:


from selenium import webdriver
import random
Bir önceki yazıda yaptığımız gibi FireFox sınıfından bir obje oluşturalım ve get() methoduna url adresini yollayarak web siteye erişelim:


browser = webdriver.Firefox()
url = "https://eksisozluk.com/31-mart-2019-yerel-secimleri-tahminleri--5827415?p="
Buradaki önemli nokta şudur, url sonunda ?p= değerini boş bırakıyoruz. Şimdi entry'ler için bir liste oluşturalım, entry ve sayfa sayısı için değişken oluşturalım:


entries = []
entryCount = 1
pageCount = 1
While döngüsü oluşturalım, koşul olarak sayfa sayısının 10'dan küçük veya eşit olmasını tanımlayalım. Döngüde rastgele sayılar üretelim. Bu sayılar ile url adresini birleştirelim. get() methodu ile rastgele sayfalara bu şekilde erişebiliriz:


while pageCount <= 10:
    randomPage = random.randint(1,54)
    newUrl = url + str(randomPage)
    browser.get(newUrl)
Aynı döngünün içinde css_selector ile content classına sahip elementleri çekelim. elements listesinde for döngüsü ile gezinelim ve entries listesine entry'leri atalım. Döngünün son aşamasında da sayfa sayısını bir artıralım:


    elements = browser.find_elements_by_css_selector(".content")
    for element in elements:
        entries.append(element.text)

    pageCount += 1
Son olarak entries listesini bastıralım ve browser objesini close() methodu ile kapatalım:


for entry in entries:
    print("*********** Entry - " + str(entryCount) + " ****************")
    print(entry)
    entryCount += 1

browser.close()


Sonraki Yazı: Selenium, Instagram Auto Login
Yorumlar

Henüz bir yorum bulunmuyor.
Yorum bırakın