Web Scraping işlemleri için Python programlama dili kullanılarak hazırlanan ücretsiz kütüphaneler bulunmaktadır Bu kütüphaneler sayesinde web sayfalarından veri toplama işlemleri daha kolay bir hale gelmektedir Bu yazıda, en popüler ve kullanışlı Python kütüphaneleri hakkında bilgi sahibi olabilirsiniz Hemen tıklayın ve keşfedin!
Web scraping, veriye erişmek ve analiz etmek için oldukça yararlı bir tekniktir. Bu nedenle, web scraping kavramı her geçen gün daha da popüler hale geliyor. Web sayfalarında bulunan verileri çekmek, işlemek ve analiz etmek için birçok programlama dili kullanılabilir olsa da, Python bu konuda oldukça popüler bir seçimdir.
Bu makalede, Python ile web scraping işlemleri için kullanabileceğiniz en iyi ve ücretsiz kütüphaneleri öğreneceksiniz. Requests, BeautifulSoup, Scrapy, PyQuery ve Selenium gibi kütüphanelerle web scraping işlemleriniz daha kolay hale gelecek. Şimdi, bu kütüphanelerin özelliklerini daha ayrıntılı olarak keşfedelim.
1. Requests
Web scraping, internet üzerindeki bilgiye erişmek için oldukça faydalı bir araçtır. Ancak verileri toplayabilmek için bazı araçlara ihtiyacımız olacaktır. Bunlardan ilki, basit ve anlaşılır bir kütüphane olan Requests'tir. Requests, Python'da en çok kullanılan HTTP kütüphanelerinden biridir ve kullanımı oldukça kolaydır.
Requests kütüphanesi kullanarak internet üzerindeki web sitelerine GET/POST methodları yardımıyla request atabiliriz. Ayrıca, bu isteklere veri ekleyebilir, çıkartabilir veya modifiye edebiliriz. Requests kütüphanesini kullanarak web sitelerindeki etiketleri, resimleri veya diğer kaynakları indirebiliriz.
- GET veya POST methodlarıyla istek yapabilme
- HTTP bağlantı noktalarını değiştirme
- Request'lere veri ekleme, çıkartma veya modifiye etme
- Web sayfalarındaki resimler, metinler ve diğer kaynakları indirme
Requests kütüphanesi kullanarak web scraper'ların kullanışlı birçok araca sahip olabileceğini belirtmek önemlidir. Bundan dolayı Requests, web scraping'in temel kütüphanelerinden biridir.
2. BeautifulSoup
Web scraping işlemlerinde yaygın olarak kullanılan BeautifulSoup, HTML ve XML dokümanlarından veri çekmek için kullanılan bir Python kütüphanesidir. BeautifulSoup, verileri kolayca ve hızlı bir şekilde parse etmeyi kolaylaştırır. Kütüphane, parse ettiği verileri ağaç benzeri bir yapı kullanarak organize etmektedir.
BeautifulSoup kütüphanesi kullanılarak veri çekme işlemleri için ilk adım, veri kaynağındaki HTML veya XML dosyasının parse edilmesidir. Daha sonra, parse edilen dosyada aranan HTML veya XML tagleri belirlenir ve bu taglerden ilgili veriler çekilir. Bu işlemi yapabilmek için, BeautifulSoup kullanıcılarına birçok araç ve fonksiyon sunar. Örneğin, .findAll() fonksiyonu belirli bir HTML veya XML tagindeki verileri bulmak için kullanılır.
BeautifulSoup kütüphanesinin kullanımı oldukça basittir ve belgeleme sayfasında kullanım örnekleri mevcuttur. Kullanıcılar, Beautiful Soup kütüphanesinin bir HTML veya XML dosyası üzerindeki herhangi bir tag'i bulup çıkarmak için nasıl kullanılabileceğini keşfedebilirler. Aynı zamanda, BeautifulSoup kütüphanesi, kullandığı parse işlemi nedeniyle, birçok web sitesinde kolaylıkla kullanılabilir. Özellikle, hızlı bir şekilde veri çekme işlemi yapmak isteyenler için iyi bir seçenek olabilir.
2.1. Soup'ı Configuring
BeautifulSoup kütüphanesi, web scraping işlemlerinde en yaygın olarak kullanılan kütüphaneler arasında yer almaktadır. Doküman konfigürasyonlarını yapmak için Soup'ı Configuring adı verilen bir sistem geliştirilmiştir. Bu sistem sayesinde kullanıcılar doküman yapılarına göre ayarlamalar yaparak veri çekme işlemlerini daha kolay hale getirebilmektedir.
BeautifulSoup kütüphanesi için Soup'ı Configuring yöntemlerinden biri HTML dokümanları üzerinde yürütülen işlemlerdir. Bu yöntemde kullanıcılar, BeautifulSoup kütüphanesi ile birlikte gelen farklı fonksiyonları kullanarak HTML dokümanlarından veri çekebilirler. Diğer bir yöntem ise XML dokümanları üzerinde yürütülen işlemlerdir. Bu yöntemde kullanıcılar, dokümanları ayrıştırarak ihtiyaç duydukları verileri elde edebilirler.
Method A: HTML Dokümanları Üzerinde İşlem Yapma | Method B: XML Dokümanları Üzerinde İşlem Yapma |
---|---|
HTML dokümanı içindeki herhangi bir etiketi bulma | XML dokümanı içindeki herhangi bir etiketi bulma |
HTML dokümanı içindeki etiketin tüm özelliklerini ve içeriğini alın | XML dokümanı içindeki etiketin tüm özelliklerini ve içeriğini alın |
HTML dokümanındaki bir öğenin alt öğelerine erişmek | XML dokümanındaki bir öğenin alt öğelerine erişmek |
BeautifulSoup kütüphanesi ile HTML formlarının da kolayca işlenebildiği bilinmektedir. HTML formlarını işlemek için, kütüphanenin find() fonksiyonu kullanılabilir. Böylece formdaki istenen elemanlar elde edilebilir ve işlenerek kullanıcıya sunulabilir.
2.1.1. Method A
BeautifulSoup kütüphanesi, HTML dokümanlarındaki verileri çekmek için sıklıkla kullanılır. Method A, HTML dokümanı üzerinde yürütülen BeautifulSoup işlemleri hakkında bilgiler sunar.
BeautifulSoup ile bir HTML sayfasındaki içeriği aldıktan sonra, belli bir etiket ya da sınıf adı ile eşleşen tüm verileri bulmak mümkündür. Örneğin, tüm başlıkları bulabilirsiniz:
from bs4 import BeautifulSoupimport requestsresponse = requests.get('https://example.com')soup = BeautifulSoup(response.content, 'html.parser')titles = soup.find_all('h1')for title in titles: print(title.text)
Bu örnekte, requests kütüphanesi aracılığıyla bir web sayfası getirdik ve BeautifulSoup işlemleri için soup
objesini oluşturduk. Sonrasında, tüm h1
etiketleri için verileri find_all()
metoduyla topladık.
Bu yöntem ayrıca, belli bir sınıf adı olan tüm verileri de toplamanızı sağlar. Örneğin, tüm makale özetlerini bulmak için:
from bs4 import BeautifulSoupimport requestsresponse = requests.get('https://example.com/articles')soup = BeautifulSoup(response.content, 'html.parser')summaries = soup.find_all('div', {'class': 'article-summary'})for summary in summaries: print(summary.text)
Bu örnekte, tüm div
etiketlerindeki article-summary
sınıf adı olan verileri toplamak için find_all()
metodunu kullanarak bir sözlük (dictionary) kullandık.
2.1.2. Method B
Beautiful Soup kütüphanesi, XML dokümanlarından veri çekerken de oldukça kullanışlıdır. XML dokümanlarının yapısal olarak HTML'den farklı olması nedeniyle, parsing işlemi biraz daha farklı yapılmaktadır. Bu noktada, XML dokümanlarını parse edebilmek için parse edici motorunuzun XML parsing kapasitesine sahip olduğundan emin olmanız gerekmektedir.
BeautifulSoup kütüphanesi, XML dokümanlarına erişmek için parse edici motoru olarak "lxml" kullandığından, lxml kütüphanesini de kurmanız gerekmektedir. XML dokümanını BeautifulSoup'a yüklerken, ikinci parametre olarak "xml" biçiminde bir argüman belirtmeniz gerekmektedir.
Örnek olarak; "books.xml" adlı bir XML dosyası içindeki tüm
```pythonimport requestsfrom bs4 import BeautifulSoup
url='http://www.example.com/books.xml'r = requests.get(url)soup = BeautifulSoup(r.content,'xml')books = soup.find_all('book')
for book in books: print(book.title.string, book.description.string)```
Bu örnekte, requests kütüphanesi kullanarak XML dokümanına istek yapılır ve BeautifulSoup kütüphanesi, XML parsing kapasitesine sahip olması nedeniyle "xml" şeklinde argüman alarak bu XML dosyasını parse eder. Daha sonra, kod kitap tanımlarını (title) ve açıklamalarını (description) bulur ve çıktıya daha önce belirtilen şekilde yazdırır.
2.2. Handling HTML forms
Web scraping işlemlerinde sıkça karşılaşılan durumlardan biri, HTML formlarından veri çekmek veya form üzerinde işlem yapmaktır. Bu işlemi Beautiful Soup kütüphanesi ile kolaylıkla gerçekleştirebilirsiniz.
Öncelikle formu inceleyerek ilgili input ve butonların özelliklerini belirlemeniz gerekiyor. Daha sonra Requests kütüphanesiyle ilgili URL'e istek göndererek formun HTML kodlarını alırsınız. Bu kodları daha sonra BeautifulSoup kütüphanesi yardımıyla parse ederek form inputlarını seçebilir veya formu doldurup submit butonuna basarak işlemi gerçekleştirebilirsiniz.
Örnek bir kullanım için aşağıdaki Python kodlarını inceleyebilirsiniz:
import requestsfrom bs4 import BeautifulSoup# Formu göndermek için gerekli bilgileri belirlepayload = { 'username': 'myusername', 'password': 'mypassword'}# İlgili sayfayı istek göndererek alurl = 'https://www.example.com/login'response = requests.get(url)# HTML kodlarını parse ederek formu seçsoup = BeautifulSoup(response.content, "html.parser")form = soup.find('form')# Form inputlarını belirle ve doldurusername_input = form.find('input', {'name': 'username'})password_input = form.find('input', {'name': 'password'})username_input['value'] = payload['username']password_input['value'] = payload['password']# Submit butonuna tıklasubmit_button = form.find('button', {'type': 'submit'})response = requests.post(url, data=payload)
Görüldüğü gibi, form inputlarını belirlemek ve doldurmak oldukça basit bir işlem. Daha sonra submit butonuna basmak için ilgili butonu seçerek requests.post() fonksiyonunu kullanmanız yeterli.
3. Scrapy
Web scraping işlemlerini otomatikleştirmek için kullanabileceğiniz kütüphanelerden biri olan Scrapy, veri çekme sürecini daha hızlı ve verimli hale getirmek için geliştirilmiştir. Kendi içerisinde birçok özelliği barındıran Scrapy kütüphanesi, web scraping işlemlerine yön veren unsurlar arasında yer almaktadır.
Scrapy kütüphanesi, Python dilinde yazılmış ve dağıtılan open-source bir framework'tür. Bu framework sayesinde web scraping işlemleri, otomatik bir şekilde gerçekleştirilebilir. Scrapy kütüphanesi, veri çekme işlemlerine ilişkin yapılandırma, dosya yönetimi ve veri çıktısı alma işlemlerini de desteklemektedir.
Scrapy kütüphanesi, konfigürasyon ve ayarlamaların yapılabildiği bir sistem içermektedir. Bu sayede kullanıcılar, özelleştirilmiş ayarlarla veri çekme işlemlerini gerçekleştirebilirler. Ayrıca Scrapy kütüphanesi, spider ve item'lar sayesinde veri çıktısı alma işlemlerini de desteklemektedir.
Scrapy kütüphanesi, birçok website'tan veri çekme işlemlerini tek bir sistem içerisinde yapabilmenizi sağlamaktadır. Bu kütüphane içerisinde yer alan özellikler sayesinde, veri çekme işlemleri daha kolay ve verimli bir hal alabilmektedir. Ayrıca Scrapy kütüphanesi, veri çıktısı alma işlemlerini de desteklediği için, elde edilen verilerin dosya yönetimi de oldukça kolay bir şekilde yapılabilmektedir.
Scrapy kütüphanesi, web scraping işlemlerine ilişkin birçok özelliği bünyesinde barındırmaktadır. Bu özellikler arasında web sayfalarını dizinleme, sayfa olaylarını takip etme, form işlemlerini gerçekleştirme, AJAX sayfalarını taklit etme, otomatik dosya yönetimi ve veri çıktısına ilişkin yapılandırma işlemleri yer almaktadır.
Scrapy kütüphanesi kullanımı oldukça kolay bir kütüphanedir. Kullanıcılar, öncelikle Scrapy kütüphanesinin kurulumunu gerçekleştirmelidirler. Kurulum işleminin ardından kullanıcılar, Scrapy kütüphanesini Python projesine dahil edebilirler. Scrapy kütüphanesi için spider ve item kullanımı oldukça önemlidir. Bu unsurlar sayesinde veri çıktısı alma süreci daha verimli bir hale getirilebilmektedir.
3.1. Installation and Setup
Scrapy, web scraping işlemlerini otomatikleştirmek için kullanılan ücretsiz bir Python kütüphanesidir. Scrapy kullanabilmek için öncelikle Python dilinin bilinmesi gerekmektedir. Kurulum işlemi sırasıyla şu adımlar takip edilerek yapılabilir:
- Scrapy kütüphanesi için öncelikle Python kurulumu yapılmış olmalıdır. Python 2.7 veya Python 3.4 ve üzeri versiyonları kullanılabilir.
- Scrapy kütüphanesini yüklemek için terminal veya komut istemi açılmalıdır. Windows işletim sistemi kullananlar için komut istemi, Linux veya Mac işletim sistemi kullananlar için terminal kullanabilirler.
- Terminal veya komut istemi açıldıktan sonra pip install scrapy komutu çalıştırılmalıdır.
Scrapy kütüphanesi için temel ayarlar yapmak da oldukça kolaydır. Kullanıcılar, settings.py dosyasında belirtilen ayarları değiştirebilirler. Bu ayarlar arasında örümcekleri tanımlama, indirme sınırı, indirme gecikmesi ve çıktı dosyası yolu gibi birçok farklı seçenek bulunabilir. Örümcekler, Scrapy kütüphanesine arama döngülerini belirten class yapısıdır. Bu nedenle örümceklerin tanımlaması için class’lar çoğunlukla kullanılır. Scrapy kütüphanesi üzerinde daha fazla bilgiye sahip olmak için kütüphanenin resmi dökümanlarını inceleyebilirsiniz.
3.2. Spiders and Items
Scrapy, web scraping işlemlerinde sıklıkla kullanılan bir Python kütüphanesidir. Scrapy, özellikle büyük ve dağınık web sitelerinden toplu veri çekme işlemlerini kolaylaştırır. Bunun için Scrapy'de spider ve item adı verilen konuyla ilgili iki özellik bulunmaktadır.
Spider'lar, web sitelerinde dolaşmak ve belirli verileri çekmek için kullanılır. Spider oluşturulurken, başlangıç URLs, belirli URL şablonları ve hangi verilerin çekileceği gibi belirli kurallar belirlenir. Bunun yanı sıra spider'ın hangi URL'leri takip edeceği veya hangilerini göz ardı edeceği gibi ayarlamalar da yapılabilir.
Item'lar ise, Scrapy kütüphanesi kullanılarak toplanan verileri depolamak için kullanılır. Bir web sayfasından veri çekmek için item oluşturulur ve item, web sayfasından çekilen verilerin yüklenmesi için kullanılır. Item, bir Python sınıfı olarak tanımlanır ve her özellik, web sayfasından çekilen belirli bir veriyi temsil eder.
Özetle, Scrapy kütüphanesi web scraping işlemlerini kolaylaştırmak için spider ve item özelliklerini kullanmaktadır. Spider'lar web sitelerinde gezinirken item'lar, web sitelerinden çekilen verileri depolar. Bu özellikler, Scrapy kullanarak veri toplama işlemini kolaylaştırır ve düzenli hale getirir.
4. PyQuery
PyQuery, HTML dokümanlarının manipüle edilmesi için kullanılan bir kütüphanedir. Beautiful Soup kütüphanesi ile benzer özelliklere sahiptir. PyQuery yapısı olarak jQuery kütüphanesiyle benzerdir ve jQuery söz dizimi kullanarak elementlere erişebilirsiniz.
PyQuery, BeautifulSoup kadar popüler değildir, ancak güçlü bir HTML DOM manipülasyon aracıdır. Kullanım alanı olarak Beautiful Soup kütüphanesine göre daha sınırlıdır. Sadece HTML dokümanları ile çalışmak için tasarlanmıştır.
PyQuery'in temel özellikleri şunlardır:
- CSS seçicileri: Benzersiz bir özellik olarak PyQuery, CSS seçicilerinin bir alt kümesini destekler. Bu özelliği sayesinde, CSS seçicilerini kullanarak belirli elementlere erişmek oldukça kolaydır.- jQuery benzeri söz dizimi: PyQuery, jQuery ile oldukça benzer bir söz dizimi kullanır. Bu sayede HTML dokümanları üzerinde jQuery bilginiz varsa, PyQuery'yi kolayca öğrenebilirsiniz.- Elementlerin manipülasyonu: PyQuery, seçili HTML elementlerinin manipülasyonu için jQuery gibi bir API sağlar. Bu API ile elementleri değiştirebilir, ekleyebilir veya kaldırabilirsiniz.- HTML ve XML formatları: PyQuery, hem HTML hem de XML dokümanları ile çalışır. Bu sayede, PyQuery kullanarak XML dokümanları da manipüle edebilirsiniz.
PyQuery vs. BeautifulSoup kütüphanesi arasında bir seçim yaparken, ihtiyaçlarınızı belirlemek önemlidir. PyQuery, yalnızca HTML dokümanları ile çalışmak için tasarlanmıştır ve jQuery benzeri bir söz dizimini kullanır. BeautifulSoup kütüphanesi ise HTML ve XML dokümanları ile çalışmak için kullanılabilir. BeautifulSoup, PyQuery'e göre daha popüler ve daha geniş bir kullanım alanına sahiptir.
4.1. PyQuery vs BeautifulSoup
Web scraping için kullanabileceğiniz kütüphaneler arasında PyQuery ve BeautifulSoup iki çoğu kullanıcının tercih ettiği kütüphanelerdir. Her iki kütüphanede HTML dokümanlarından veri çekmek için kullanılabilir. Ancak, aralarında bazı farklılıklar mevcuttur.
BeautifulSoup, HTML ve XML dokümanlarından veri çekip manipüle etmek için kullanılan bir Python kütüphanesidir. PyQuery ise jQuery benzeri bir yapıya sahip kütüphane olup, bu nedenle kullanımı oldukça kolaydır.
PyQuery'ın avantajlarından birisi de çıktıda temiz bir yapı oluşturmasıdır. Bununla birlikte, BeautifulSoup'ın belirli bir dokümanın daha iyi anlaşılmasına yardımcı olduğu düşünülebilir. Eğer bir dokümanın spesifik bir yerini hedefleyecekseniz, PyQuery daha uygun bir seçenek olabilir. Ancak daha karmaşık bir dosyadan veri çekmek istiyorsanız, BeautifulSoup kullanmak daha iyi bir tercih olabilir.
Hangi seçeneğin kullanılacağı, proje ihtiyaçlarına ve kişisel tercihlere bağlıdır. İki kütüphane de benzer işlevlere sahip olsa da, her birinin kendi avantajları vardır.
5. Selenium
Selenium, web scraping işlemlerinde kullanılan bir Python kütüphanesidir. Dinamik web sitelerinden veri çekmek için ideal bir seçenektir. Dinamik web siteleri, her ziyaret edildiğinde farklı içerikler sunan sitelerdir. Bu sitelerden veri çekmek için ise statik bir web scraping teknolojisi yeterli olmaz. İşte tam da bu noktada Selenium devreye girer.
Selenium ile dinamik web sitelerinden veri çekmek oldukça kolaydır. Bunun için öncelikle Selenium WebDriver'ı indirmek ve yüklemek gerekmektedir. Ardından, seçilen tarayıcı için bir WebDriver nesnesi oluşturulur ve gerekli işlemler yapılır. İşlemler tamamlandıktan sonra, web sayfası kapatılır ve veriler analiz edilebilir duruma gelir.
Bu işlemi gerçekleştirmek için öncelikle Selenium'ın kurulumu ve temel ayarları yapılmalıdır. Daha sonra, WebDriver konsepti anlaşılmalı ve kullanılmak istenen tarayıcı seçilerek çalışma başlatılmalıdır. WebDriver ile web sayfası açılır ve üzerinde işlemler yapılabilir. İşlemlerin tamamlanmasının ardından, web sayfası kapatılır ve veri analiz edilir hale getirilir.
Selenium ile yapılabilecekler sadece bunlarla sınırlı değildir. Ayrıca, form işlemleri, klavye ve fare işlemleri ve hatta mobil testler de gerçekleştirilebilir. Veri çekme işlemleri için çok sayıda kütüphane olsa da, dinamik web sitelerinden veri çekmek için Selenium oldukça etkili bir seçenektir.
Örnek bir Selenium kullanımı için aşağıdaki Python kodunu kullanabilirsiniz:
from selenium import webdriverdriver = webdriver.Chrome() # kullanılacak tarayıcı, Chrome burada örnek olarak gösterilmiştir.driver.get("https://www.example.com") # Veri çekmek istediğiniz web sitesinin URL'sini buraya yazın.elem = driver.find_element_by_xpath("//h1[@class='example']") # Verinin çekileceği HTML etiketini XPath yolu ile belirtin.print(elem.text) # Veriyi ekrana yazdırın.driver.close() # Web sayfasını kapatın.
Bu örnek kod, önce Chrome tarayıcısını açarak, sonra belirtilen URL üzerinde işlem yapar. İşlem sonucunda istenilen veri, belirtilen XPath yolu ile çekilir ve ekrana yazdırılır. En sonunda ise web sayfası kapatılır.
5.1. Installation and Setup
Selenium kütüphanesi, Python için geliştirilmiş bir web otomasyon kütüphanesi olarak kullanılmaktadır. Kurulum yapmak için, öncelikle Python 3'ün yüklü olduğundan emin olun. Ardından, Selenium kütüphanesini yüklemek için aşağıdaki komutu kullanabilirsiniz:
pip install selenium
Selenium WebDriver'ın kullanılabilmesi için, ayrıca bir tarayıcı sürücüsünün de yüklü olması gerekir. Bu noktada, tarayıcınız için uygun olan sürücüyü indirip yüklemeniz gerekmektedir.
Örneğin, Chrome kullanan bir sistem için Chrome WebDriver sürücüsünü indirip kurabilirsiniz. Bunun için, aşağıdaki adımları takip edebilirsiniz:
1. Eğer sisteminizde Chrome yüklü değilse, ilk olarak Chrome'u indirin ve yükleyin. 2. Chrome WebDriver'ı indirin: https://sites.google.com/a/chromium.org/chromedriver/downloads3. Dosyayı arşivden çıkarın ve sürücüyü herhangi bir dizine taşıyın.4. Sistem yolunuza sürücü dizinini ekleyin, böylece Python WebDriver dizini yöntemiyle sürücüye kolayca erişebilirsiniz:
import osfrom selenium import webdriveros.environ["PATH"] += os.pathsep + r"C:\webdriver\bin"browser = webdriver.Chrome()
Selenium kurulumu tamamlandıktan sonra, webdriver'ı başlatabilir ve otomasyon işlemlerine hazır olabilirsiniz.
5.2. WebDriver
Selenium kütüphanesi, web scraping işlemleri için oldukça popüler bir seçenektir. Bu kütüphane, dinamik web sayfalarını tarayarak verileri çekmenizi sağlar. Selenium kütüphanesi, WebDrivers adı verilen araçları kullanarak web sayfalarındaki interaktif öğelerle etkileşime girebilir.
WebDriver, Selenium kütüphanesi için oldukça önemli bir konsepttir. Bu, bir web tarayıcısı sürücü yazılımıdır. Selenium WebDriver, farklı web tarayıcıları için uygun olan araç setlerine sahiptir. Bu kütüphane, web sayfaları üzerinde farklı eylemleri gerçekleştirmek için hareketli elemanlardan yararlanır. Ayrıca, dinamik web sitelerinden veri toplamak için çok kullanışlıdır.
WebDriver Özellikleri | Açıklamaları |
---|---|
Gelişmiş tarayıcı kontrolü | Selenium WebDriver, bir web tarayıcısını kontrol etmek için tasarlanmıştır ve her hangi bir tarayıcıda çalışır. |
Çoklu dille uyumluluk | Selenium WebDriver, birçok programlama diliyle uyumludur (Python, Java, C#, vb.) |
Etkileşimli elementler için desteği | Selenium kütüphanesi, kullanıcı etkileşimli elementler için gereken eylemleri yapabilir. |
Paralel çalışma desteği | Selenium WebDriver, farklı tarayıcılarda eşzamanlı olarak test yapmak için kullanılabilir. |
Selenium WebDriver’ı kullanarak örnek bir uygulama yapmak oldukça kolaydır. Basit bir örnek, Google’da bir arama yapmaktır. Bunun için öncelikle kütüphanenin kurulması gerekmektedir. Daha sonra, WebDriver'ı başlatmanız ve istediğiniz URL'yi belirtmeniz gerekiyor.
- from selenium import webdriver
- driver = webdriver.Firefox()
- driver.get("https://www.google.com")
- search_box = driver.find_element_by_name('q')
- search_box.send_keys('Python')
- search_box.submit()
Bu işlem, Firefox tarayıcısını açar ve “https://www.google.com” adresine gider. “send_keys()” komutu, arama kutusuna “Python” kelimesini gönderir ve “submit()” komutu, aramanın gerçekleştirilmesini sağlar.
Selenium WebDriver, sadece bir örnek olmak üzere web scraping için oldukça kullanışlıdır. Bu kütüphane, web sayfalarını otomatik olarak kontrol etmek için büyük bir potansiyele sahiptir.