Skip to content

Kenan YAMAN

Dışı tekniker, içi yazılımcı

Menu
Menu

Pythonanywhere üzerinde selenium kullanımı

Posted on 5 Kasım 202023 Ocak 2021 by Kenan

Python üzerinde veri kazıma yapmak isterseniz eğer muhakkak ismini duyup araştırmışsınızdır selenium modülünü. Selenium modülü ile kullanıcı taklit edilecek web sitesi üzerinde testler oluşturabilir ya da veri kazıma işlemleri yapabilirsiniz. Peki bu işlemleri herhangi bir ekrana sahip olmayan uzak sunucu üzerinde yapmak istersek nasıl gerçekleştireceğiz ? Hadi başlayalım.


[baglanti_kare]

İçindekiler
  1. Python selenium modülü nedir ?
  2. Pythonanywhere nedir ?
  3. Pythonanywhere üzerinde selenium modülünü kullanmak
  4. Dezavantajları

[baglanti_kare][space]


Python selenium modülü nedir ?

Öncelikle selenium modülünü kısaca tanıyalım.

Python selenium modülü ile bir web sitesi üzerinde testler oluşturabiliriz, nedir bu testler? örnek vermek gerekirse, bir site oluşturduğunuz ve butonları kontrol etmek istiyorsunuz. Bunun için selenium ile bir betik oluşturarak tıpkı gerçek bir insan gibi buton davranışlarını ve işlevlerini test edebilirsiniz. Bunun dışında web sitelerinden veri kazıyabilirsiniz.

Diyelim ki bir haber sitesinden güncel haberler kısmını almak istiyorsunuz. Bunun için python selenium modülünü kullanarak, bir tarayıcı başlatabilir, tıpkı sizin yaptığını gibi belli linklere tıklayarak o sayfa üzerinde ki belli kısımları çekebilirsiniz.

Örnek olması açısından python selenium ile yaptığım twittera giriş yaparak tweet atan şu programı inceleyebilirsiniz.

Bunları yapmak için bir tarayıcıya ihtiyacımız olacak. Ondan da önce bir ekrana. Kullandığınız bilgisayar üzerinde bu işlemi çok rahat bir şekilde yapabilirsiniz fakat yazdığınız kodu uzak bir sunucuda (örnek olarak pythonanywhere) çalıştırmak isterseniz eğer, bir ekran olmadığı için ve kuulu bir tarayıcı olmadığı için hata ile karşılaşırsınız. Python ile ilgili arama yaparken uzak sunucuda selenium ile nasıl çalışabileceğime dair bilgiler buldum. Benim gibi bu şekilde arama yapan kişilere faydalı olması amacıyla bu yazıyı yazıyorum. Bu yazıda örnek olması için pythonanywhere kullandım, eğer sizin kullandığınız sunucu üzerinde selenium desteği varsa, aynı işlemleri yaparak başka sunucular üzerinde de bu işlemleri rahat bir şekilde uygulayabilirsiniz. Bunu öğrenmek için sunucu hizmeti satın aldığınız yerle iletişim kurabilirsiniz.

Pythonanywhere nedir ?

pythonanywhere, python dosyalarını çalıştırmayı sağlayan bir bulut hizmetidir. Web siteleri üzerinden python consolu oluşturabilir, python dosyaları gönderebilir, sağladıkları editör sayesinde çevrimiçi olarak python kodlaması yapabilirsiniz. Daha fazla bilgiyi websitelerinden alabilrisiniz.

Ücretisz başlangıç paketi ile küçük ölçekli uygulamalarınızı çalıştırabilirsiniz. Daha ağır ve yüksek kaynak gerektiren uygulamalarınız için ücretli paketlerden birini seçerek kullanabilirsiniz. Daha detaylı bilgi için tıklayın.

[yazi_ici_goruntu][space]

Pythonanywhere üzerinde selenium modülünü kullanmak

Gelelim asıl konumuza, bir pythonanywhere hesabı açtığınızı varsayarak anlatmaya devam ediyorum. Resimlerle konuyu destekleyeceğim.

Selenium modülünü kullanmak için bir ekrana sahip olmamız gerektiğini söylemiştim. Sunucu üzerinde bunu kullanmak için sanal bir ekran oluşturma modülünü kullanmamız gerekiyor(pyVirtualDisplay). Bu modül sayesinde sanal olarak bir ekran oluşturmuş oluyoruz. Bu sayede selenium kullanmak mümkün oluyor.

Şu adreste pythonanywhere işin naısl olacağını anlatmış. Bu kaynak üzerinden devam edersek verdikleri örneği bilgisayarımda bir .py dosyası haline getirip pythonanywhere üzerinde “files” kısmına gelerek dosyayı gönderiyorum.

Verdiğim linkte örnek olması için yazılmış python kodları şu şekilde:

from pyvirtualdisplay import Display
from selenium import webdriver

with Display():
    browser = webdriver.Firefox()

    try:
        browser.get('http://www.google.com')
        print(browser.title)
        browser.save_screenshot("screenshot.png") # bu kısmı ben ekledim, bu kod selenium modülünün bir fonksiyonu. Bu kod o anda ki ekranın resmini kayıt ediyor.

    finally:
        browser.quit()
Pythonanywhere dosya ekranı
Pythonanywhere dosya ekranı

Kendi bilgisayarınız üzerinde dosya oluşturup göndermekle uğraşmadan, pythonanywhere üzerinde dosya oluşturup, bu dosyanın içine verdiğim linkteki kodları da yazabilrsiniz.

Dosyayı oluşturduk, kodumuzu yazdık ya da .py dosyasını sunucuya gönderdik. Şimdi pythonanywhere üzerinden bir konsol açalım ve gönderdiğimiz dosyayı çalıştıralım.

Pythonanywhere üzerinde python çalıştırma
Pythonanywhere üzerinde python çalıştırma

Konsol üzerinde dosyayı gönderdiğimiz dizine giderek python kodunu çalıştırdığımızda biraz bekliyoruz, arkaplanda bir firefox tarayıcısı açılıyor, google anasayfasına gidiyor ve tarayıcının başlık ksımını alıp ekran resmini kayıt ediyor, sonrasında tarayıcıyı kapatıyor.

Verilen kod içinde ekran kayıt etmesi için bir satır eklemiştim. Şimdi pythonanywhere üzerinde dosyaları görüntülediğimiz “files” kısmına giderek python dosyasını attığımız klasöre bir bakalım:

pythonanywhere dosya sistemi
pythonanywhere dosya sistemi

Dosya yönetimi ekranında, python dosyasının altında “screnshot” adında bir resim oluşturulmuş. Şimdi bu resmi indirip bir bakalım:[partner] [space]

pythonanywhere üzerinde selenium kullanımı
pythonanywhere üzerinde selenium kullanımı

Gördüğünüz gibi selenium modülü çalıştı firefox tarayıcısı üzerinde google anasayfasına gitti ve tarayıcı başlığını konsol ekranında yazdı, bunun yanında eklediğimiz kod sayesinde o anda ki ekranın resmini kayıt etti. Diğer ayrıntılara verdiğim link üzerinden ulaşabilirsiniz. [baglanti_kare]

Dezavantajları

  • Küçük projelerde bu şekilde kullanarak işinizi halledebilirsiniz fakat büyük projelerde bu şekilde bir kullanım işinizi görmeyebilir.
  • Pythonanywhere üzerinde korumalı alan gerekçesi ile sadece firefox tarayıcısının 17. sürümü çalıştırabiliyor. Chrome, PhantomJS  ve diğerleri desteklenmiyor.
  • Ücretsiz kullanıcılar için belli web siteleri üzerinde veri kazıma işlemlerine izin veriliyor. Diğer web siteleri için ücretli bir pakete yükseltme gerekiyor. İzin verilen web siteleri için tıklayınız.
  • Selenium ile web kazıma işlemleri biraz yavaş olmakta, bunu hızlandırmak için iş kuyrukları oluşturmak gerekiyor. Bununla ilgili bilgilerde verdiğim bağlantıda mevcut.

[yazi_ici_goruntu][space]

İşin özü, küçük çaplı projelerinizi bu şekilde sunucuya göndererek halledebilirsiniz. Bir sonraki yazıda görüşmek dileğiyle, bol kodlu günler

Bunu paylaş:

  • Twitter
  • Facebook

İlgili

Bir Cevap Yazın Cevabı iptal et

Kategoriler

  • Django
  • Donanım
  • Genel
  • İngilizce
  • Konsol
  • Linux
  • Python
  • Tek Atımlık Bilgi
  • Uncategorized
  • Yazılım

Bloga e-posta ile abone ol

Diğer 4 aboneye katılın

  • EnglishEnglish

Django 3.0 ile blog geliştirme

Kişisel vpn kurulumu

kişisel vpn kurulumu

RSS Rss

  • Samsung np s3511 laptop fan temizliği, termal macun değişimi ve parça değişimi (RAM, HDD,Cd room,CPU ) 12 Ekim 2021
    Herkese merhaba, uzun zamandır bir laptop söküp bakım yapmamıştım. Eski bir arkadaşım laptopuında ısınma ve kapanma sorunları olduğunu söyledi. Bir hafta sonu misafirliğe giderek laptopa güzel bir temizlik yaptık. Temizlik yaparken yaptığım işlemleri resim çekerek görselleştirdim. Ben temizlik için laptopu söktüm fakat sadece temizlik yapmak dışında bu yazınında başlığında gördüğünüz gibi parça değişimi işlemleri içinde...
  • Linux işletim sisteminin yanına windows işletim sistemi nasıl kurulur ? [Dual boot] 28 Haziran 2021
    Herkese merhaba, bugün ki konumuz dual boot, bir başka değişle; bilgisayarınızda yüklü olan işletim sisteminin yanına bir başka işletim sistemi kurmak. Uzun yıllar Windows kullanmış bir birey olarak, yaklaşık 5-6 yıldır Linux tabanlı işletim sistemleri kullanıyorum. Uygulama geliştiricelerin kullanırken daha rahat hissetiği ve işletim sistemi üzerinde tam kontrole sahip olduğu bir işletim sistemi. Bunun yanı...
  • Docker nedir, Docker ile neler yapılır ? 14 Haziran 2021
    Herkese merhaba, sitemin temasını değiştirdim ve bir kaç bileşen eklemesi yaptım. Bri şeyi fark ettim, bir kaç yıldır blog yazıyorum fakat bloğumda arşiv kısmına baktığımda bir kaç ay hariç geri kalan aylarda neredeyse sadece bir adet yazı paylaşmışım. Düşünüyorum; ayda bir yazıdan fazla blog yazmış olmam gerekiyor. Ama gerçekte öyle değilmiş. Neyse, bu durum bloğun...
  • Linux uyku modları ve sorunları 22 Mayıs 2021
    Herkese merhaba, uzun zamandır blog yazamıyorum. İş değiştirme olsun yaşadığım sorunlar olsun bir türlü vakit ayırıp içerik hazırlayamadım. Kendi bilgisayarım üzerinde yaşadığım bir sorunu nasıl çözdüğümü yazarak başlamak istiyorum. Öncelikle hikayenin başına dönelim. Önceki yazılarımı okuyanlar bilir, askerden geldikten sonra yaptığım ilk iş bilgisayarıma format atmak oldu. Herşeye sıfırdan başladım. Buraya kadar bir problem yok...
  • WordPress, web sitenizde kritik bir hata oluştu! 3 Nisan 2021
    Herkese merhaba, uzun süredir içerik üretemedim ve fazla vakit ayıramadım buralara, yeterince vakit bulamadım işin açıkcası. Bulduğum ilk fırsatta bir iki yazı yazmak istedim. İlk yazım wordpress kullanan her kullanıcının başına gelebilecek türden bir hata. Bir gün web sitenize girmek istediniz ve karşınıza böyle bir ekran geldi. [goruntu_kare][goruntu_kare_amp] Siz en son bıraktığınızda siteniz güzel ve...
  • İnternette Kişisel Güvenlik 24 Ocak 2021
    Geçtiğimiz günlerde WhatsApp’ın güncellediği kişisel veri ilkesiyle ülkemizde büyük ses getird. Bununla birlikte telefonumuzda ya da bilgisayarımızda kullandığımız uygulamaların ne tür verileri sakladığını ve bu verileri ne amaçla kullandığını bilmek kişisel olarak güvenliğimizi artırmak için araştırmamız gereken konular arasına girdi. İnternet üzerinde yaptığımız her türlü araştırma ve web site ziyareti kayıt altına alınıyor bu bir...
  • Nasıl pasaport alınır ? detaylı anlatım 2021 5 Aralık 2020
    Dünyanın başına gelmeyen olayın kalmadığı 2020 yılının son ayındayız. Hastalıklar, doğal afetler, ölümler, patlamalar, çatlamalar envai çeşit sıkıntıyla yüzleştik, umarım 2021 yılı daha hurulu ve mutlu geçer tüm dünya ve bizim için. 2020 yılının son ayına girdiğimiz şu günlerde uzun süredir aklımda olan bir eylemi gerçekleştirdim ve pasaport aldım. Pasaport alırken yapılacak işlemleri ve pasaport...
  • Pythonanywhere üzerinde selenium kullanımı 5 Kasım 2020
    Python üzerinde veri kazıma yapmak isterseniz eğer muhakkak ismini duyup araştırmışsınızdır selenium modülünü. Selenium modülü ile kullanıcı taklit edilecek web sitesi üzerinde testler oluşturabilir ya da veri kazıma işlemleri yapabilirsiniz. Peki bu işlemleri herhangi bir ekrana sahip olmayan uzak sunucu üzerinde yapmak istersek nasıl gerçekleştireceğiz ? Hadi başlayalım. [baglanti_kare] [baglanti_kare][space] Python selenium modülü nedir ?...
  • Polylang eklentisi nedir ? WordPress sitesine çoklu dil ekleme nasıl yapılır ? 29 Ekim 2020
    Herkese merhaba, bir blog siteniz varsa ve sürekli yazılar yayınlayıp paylaşıyorsanız eğer bir süre sonra bu yazıları farklı diller içinde paylaşmak isteyebilirsiniz. Farklı dillerde yayın yaparak daha fazla kitelelere ulaşabilir ve Google adsense ya da farklı reklam gösterimlerini kullanarak daha fazla gelir elde edebilirsniz. Peki wordpress alt yapısı ile oluşturulmuş bir sitede çoklu dil eklemek...
  • HTTP Metodları nelerdir ? 26 Ekim 2020
    Bugün ki yazımda, gün içinde sıklıkla kullandığımız fakat arkaplanına pek dikkat etmediğimiz web site isteklerine bakacağız. Bilgisayar başına geçtiğimizde gerek iş için olsun gerekse bir araştırma için olsun bir çok web sitesini ziyaret ediyoruz, bu ziyaretlerimiz sırasında site ile iletişim kurmamız gereken durumlarda meydana geliyor. Peki bu iletişimin nasıl olduğunu hiç merak ettiniz mi ?...

Arşivler

  • Ekim 2021 (1)
  • Haziran 2021 (2)
  • Mayıs 2021 (1)
  • Nisan 2021 (1)
  • Ocak 2021 (1)
  • Aralık 2020 (1)
  • Kasım 2020 (1)
  • Ekim 2020 (4)
  • Eylül 2020 (1)
  • Mart 2020 (1)
  • Şubat 2020 (4)
  • Ocak 2020 (9)
  • Aralık 2019 (4)
  • Kasım 2019 (3)
  • Ekim 2019 (2)
  • Eylül 2019 (2)
  • Temmuz 2019 (2)
  • Nisan 2019 (1)
  • Aralık 2018 (2)
  • Kasım 2018 (2)
  • Ekim 2018 (1)
  • Eylül 2018 (1)
  • Ağustos 2018 (4)
  • Temmuz 2017 (2)

Etiketler

bios boot ayarları boot boot yapma django djangoda shell django türkçeye çevirme ftp bağlantı ingilizce kalıplar ingilizce nasıl pratik yapılır ingilizce pratik yapmak ingilizce zamanlar ingilizce öğreniyorum konsol dan ftp bağlanma konsoldan hız testi nasıl yapılır laptop fan temizliği linux internet hız testi linux pip kurulumu pip kullanım python modül kaldırma işlemi python modül yükleme python nasıl kurulur Python nedir python ortamı python pip kurulumu python sanal çalışma ortamı python speedtest cli rufus rufus ile boot yapma sanal çalışma ortamı sanal çalışma ortamı ve paket yükleme speedtest-cli speedtest.net speedtest cli kullanımı speedtest terminal ssh ile ftp bağlantı suspend to disk suspend to ram terminal üzerinden hız testi türkçe django virtual environment what is wordpress windows pip kurulum wordpress wordpress nedir çalışma ortamı

Blog İstatistikleri

  • 22.921 tıklama

Blog İstatistikleri

  • 22.921 Tıklama

DMCA.com Protection Status

© 2022 Kenan YAMAN | Powered by Minimalist Blog WordPress Theme
Go to mobile version