0% found this document useful (0 votes)
6 views16 pages

Lec05 GettingData

Uploaded by

Turbohako
Copyright
© All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
6 views16 pages

Lec05 GettingData

Uploaded by

Turbohako
Copyright
© All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd

Geniş Ekran Test Deseni (16:9)

En Boy Oranı
Sınaması
(Yuvarlak görünmeli)

4x3

16x9
INTRODUCTION TO DATA SCIENCE
VERİ BİLİMİNE GİRİŞ
TURKEY Konya Technical University
Lecture 5 : Veri Almak/Toplamak
Sait Ali UYMAZ

 Veri bilimi süreçlerinin ilk aşaması veriyi elde etmektir.


 Veri birçok farklı kaynakta bulunabilir.
 1. durum: Veri doğrudan analiz edilebilir şekilde hazır olabilir (CSV, JSON,
XML)
 2. durum: Veri ilişkisel veritabanından sorgu ile elde edilebilir.
 3. durum: Bir kaynaktan veriyi toplamak zorunda olabiliriz.
 Web Scraping
 Querying an API (web-based)
Veri Biliminde yaygın veri formatları
Sait Ali UYMAZ

 CSV (comma separated value) files ** İsmine bakıp aldanmayın; alanlar boşluk, sekme
veya belirli bir karakter ile de ayrılmış olabilir.
 JSON (Javascript object notation) files and string
 HTML/XML(hypertext markup language/extensible markup language) files
and string
Hap Bilgi: VS Code içerisinde
#%% [markdown] ile Jupyter Notebooks
Csv dosya ile çalışmak çalıştırılabilir.

Dataframe işlemleri
 dataframe["ColumnName"] – Sütunlara ulaşmak
 dataframe["ColumnName"][0:5] – Satır-sütün işlemi
 dataframe[["director", "cast"]][:10] - Satır-sütün işlemi
 [Link]() – Veri içinde null alanları bulmak
 [Link]() – Veri içinde null olmayan alanları
bulmak [3] – Csv dosyalarını parse etmek için kullanılan en
yaygın kütüphane Pandas
 [Link](0) – Null alanları doldurmak
[4] – read_csv() Pandas kütüphanesinin csv dosya
 [Link]() – Null alanlara sahip satırları okuma metodudur.
temizler
*** excel dosya okuma için read_excel(“filename”)
 [Link] – Satır sütün sayılarını verir
[5] – dosya yapısına göre default parametreler
 [Link] – Toplam hücre sayısını verir değiştirilebilir.
İlişkisel veri tabanlarından veriseti elde edilmesi
Sait Ali UYMAZ

 Birçok kurum/firma kendi


veritabanına sahip ve veri bilimi
çalışmaları için gerekli veri seti
SQL sorguları ile elde edilebilir.
Data Collection : Scraping&Crawling
Sait Ali UYMAZ

 Web scraping (kazıma)


 Web sayfalarından programatik olarak belirli
bilgilerin toplanması

 Web crawling(emekleme)
 Web sayfaları ve bu sayfalardaki linkleri
gezerek belirli verilerin toplanması (ör.
Arama motorları …)
Web Scraping
Sait Ali UYMAZ

 Web tabanlı veri toplama sürecinde ilk adım bazı protokoller aracılığı ile bu veriler için istek
göndermektir:
[1] – İstek göndermek için python requests
kütüphanesi kullanılır.

[3] – get metodu ile istek yapılır ve cevap response


nesnesine atanır.

[8] – Parametre göndermek istenirse params kullanılır.


Web Scraping Libraries
Web Scraping Scrapy, BeautifulSoup or Selenium
Sait Ali UYMAZ

 İkinci adım indirilen HTML dosyanın işlenmesidir:

[11] –BeautifulSoup kütüphanesi HTML ve XML


dosyalarını işlemek için kullanılır.

[13] – Python içerisindeki dahili parser


kütüphanesi (çok güçlü ve kullanışlı değil) veya 3.
parti kütüphaneler kullanılabilir.

• [Link]
* HTML sayfaların yapısını oluşturan Tag • lxml
objeleri ve nitelikleri üzerinde çalışılır. • lxml-xml
• html5lib
Using APIs
Sait Ali UYMAZ

 Günümüzde birçok web sayfası ve web servisleri yapısal formatta veriyi uygulama programlama
arayüzleri (API-Application Programming Interface) ile sağlamaktalar.
 Bu APIs web kazıma süreçlerinde karşılaşılan birçok problemden kurtarmaktadır.
 Bu web tabanlı veri sağlayan servisler REST (Representational State Transfer) API olarak
adlandırılır.
 HTTP protokolü üzerinden haberleşir ve standart HTTP komutları (GET, POST, PUT, DELETE) ile
çağrılır.
 Durum bilgisini saklamaz. Her istek ilgili bilgileri (account key vb.) içermelidir.
 Servisten dönen veriler yapısal formatta (çoğunlukla JSON-JavaScript Object Notation) olur ve Python
dictionary (dicts) ile oldukça benzerdir bu nedenle otomatik olarak (json modülü ile) parse edilebilir.
 Bazı servisler XML formatında veri sağlar. Bunları parse etmek için BeautifulSoup kütüphanesi kullanılır.
Using APIs
Sait Ali UYMAZ

 Github APIs kullanarak veri almak;


Using APIs
Sait Ali UYMAZ

 Belirli bir siteden veri ihtiyacı olduğunda;


 “developer” yada “API” bölümleri incelenebilir
 Ve bir kütüphane bulmak için “python <sitename> API” araması yapılabilir.
 Twitter, Instagram, uber, youtube, udemy vb. birçok siteye ait kütüphane bulunmaktadır.
 [Link]
 Eğer bulamadıysanız veri bilimcisinin son çaresi web scraping
Example:Using the Udemy APIs
Sait Ali UYMAZ

 Udemy bir eğitim-öğretim web sitesidir.


 Yazılım geliştiricilerin istemci uygulamalarında entegrasyon için API desteği sağlar.
 Bu yapı REST üzerine kurulmuştur.
 Tüm yanıtlar (hatalar dahil) JSON formatındadır.
 Kullanıcı doğrulama için ise OAuth 2 protokolü kullanılmaktadır.

 Udemy İş Ortağı API'nin mevcut sürümü 2.0'dir. ([Link]


 Udemy REST API'ye bir çağrı yapmak için bir API istemcisi yaratmanız gerekecektir.
 API istemcisi: Udemy'de bir kullanıcı hesabına bağlanmış olan bir bearer token'dan oluşur.
 [Link] adresinden talepte bulunmanız gerekir.
 Talebiniz onaylandığında, bearer token öğeniz (client_id ve client_secret) sayfanızda görünür.
Keep “API key” and “API secret key” secret;
 store them in a [Link] file
 store them in environment variables
Example:Using the Udemy APIs
Sait Ali UYMAZ

[1:4] – os kütüphanesi ile ortam


değişkenlerinde tutulan token bilgileri
getirilir.
[5] – Udemy API ile entegrasyon için
Python’da <Pyudemy> kütüphanesi
mevcuttur. ($ pip install pyudemy)
[6] – kimlik doğrulama ve bağlantı
[7:9] – kütüphanedeki yöntemler (tüm
yöntem ve modeller için dokümantasyon
incelenmelidir.)
Keep “API key” and “API secret key” secret;
 store them in a [Link] file
 store them in environment variables
Example:Using the Udemy APIs
Sait Ali UYMAZ

[10:14] – API ile alınan kurs listesinden


belirli alanlar seçilerek bir veriseti csv
dosyaya kaydediliyor.
[15:22] – verisetinin csv dosya olarak
kaydedilmesi csv kütüphanesi yardımı
ile de yapılabilir.
Introduction to Data Science
Veri Bilimine Giriş

Department of Computer Engineering

Sait Ali UYMAZ


sauymaz@[Link]

You might also like