Yapay zekadan makale özeti
- Kısa
- Ayrıntılı
- Bu video, Sinan adlı bir eğitmen tarafından sunulan Python programlama dersidir. Eğitmen, daha önce öğretilen konuları kullanarak pratik bir veri kazıma aracı yazmayı amaçlamaktadır.
- Videoda, Amerika'daki Madline Plus açık veri sitesinden ilaç kategorilerini ve linklerini çekme süreci adım adım gösterilmektedir. Eğitmen, request, BeautifulSoup, map, filter gibi Python modülleri ve tekniklerini kullanarak, kategorilerin linklerinin alınması, sayfa kaynaklarının alınması ve ilaçların listelenmesi gibi işlemler detaylı olarak anlatmaktadır.
- Eğitim, Madeline Scraper sınıfı oluşturma, get source sw fonksiyonu ile kaynak alma ve alld rock lee fonksiyonuyla linkleri çekme işlemlerini içermektedir. Ayrıca, aynı adrese giden farklı linkleri kümeye çevirerek benzersiz hale getirme yöntemi de açıklanmaktadır. Video, bir ders serisinin parçası olup, bir sonraki derste devam edileceği belirtilmektedir.
- 00:09Python ile Veri Kazıma Projesi
- Eğitmen Sinan, Python ile veri kazıma (scraping) yapacak bir araç geliştirecek.
- Daha önce öğrendiği modülleri (click, map, radius, filter) kullanarak pratik yapacak.
- Madline Plus adlı web sitesinden veri kazıyacak, bu site Amerika'da bulunan açık veri içeren bir site.
- 01:05Proje Amacı
- Proje tamamen eğitim amaçlıdır, ticari kazanç için kullanılması durumunda yasal sorumluluk kullanıcıya aittir.
- A'dan Z'ye ve 0,49 arası rakamlar içeren ilaçların linklerini dolaşacak.
- Her ilacın nasıl kullanılması ile ilgili bilgileri (prospektüs) kazıyıp ilk üç alanı bir JSON dosyasına kaydedecek.
- 02:12Kategori Linklerini Oluşturma
- A'dan Z'ye harfler ve 0,49 arası rakamlar için kategori linkleri oluşturulacak.
- Harfler için "string.ascii_uppercase" kullanılarak A'dan Z'ye tüm büyük harfler alınacak.
- Map fonksiyonu kullanılarak her harf için base URL'e eklenecek şekilde linkler oluşturulacak.
- 09:22HTTP İsteği Atma
- "get_source" adlı bir fonksiyon oluşturulacak ve HTTP isteği atılacak.
- Request modülü ile URL'e istek atılacak ve durum kodu 200 (başarılı) dönerse kaynak alınacak.
- BeautifulSoup modülü ile kaynak lxml formatında parçalanacak ve üzerinde işlem yapılabilir hale getirilecek.
- 12:38İlaç Linklerini Kazıma
- "get_all_drug_links" adlı bir fonksiyon oluşturulacak.
- Sayfa kaynağında "uid-index" id'sine sahip HTML elemanının içindeki tüm "li" elemanları bulunacak.
- Bu fonksiyon çalıştırıldığında sayfadaki tüm ilaç linkleri listeleniyor.
- 16:02HTML Elemanlarından Linklerin Çekilmesi
- HTML elemanlarından linklere ulaşmak için "all_drugs" içindeki tüm elemanları dolaşarak "a" HTML elemanlarını bulabiliriz.
- Map fonksiyonu kullanılarak her bir elemanda "a" HTML elemanı bulunup, href değerleri liste olarak dönebilir.
- Çekilen linklerin sonundaki nokta karakteri silinerek ve base URL ile birleştirilerek tam linkler oluşturulabilir.
- 20:18Tekrarlanan Linklerin Temizlenmesi
- Bazı sayfalarda aynı adrese giden farklı isimli ilaçlar olabilir, bu nedenle linklerin tekrarlanmasını önlemek için kümeye çevirme işlemi yapılabilir.
- Liste formatındaki linkler küme formatına dönüştürülerek unique değerler elde edilebilir.
- Kümeye dönüştürme işlemi sayesinde 354 tane unique link elde edilmiş ve tekrarlanan linkler temizlenmiş.
- 22:01Yapılan Çalışmanın Özeti
- MadelineScraper sınıfı oluşturulmuş ve içinde kategorileri getiren bir fonksiyon yazılmış.
- GetSource fonksiyonu verilen URL'e istek atarak kaynak kodunu döndürüyor.
- GetAllDrugs fonksiyonu kaynak kodundaki "id=index" olan UL elementinin içindeki tüm linkleri bulup, noktaları silerek ve base URL ile birleştirerek tam linkleri döndürüyor.