GPT-4o ile web scraping: Güçlü ama pahalı
(blancas.io)- OpenAI'nin yeni yapılandırılmış çıktı özelliğini kullanarak yapay zeka destekli bir web scraper geliştirme deneyimini özetleyen yazı
GPT-4o'dan veri scrape etmesini istemek
- İlk deney, GPT-4o'dan bir HTML dizgesinden veri çıkarmasını istemek oldu
- Yapılandırılmış çıktıyı tanımlamak için Pydantic modeli kullanıldı
from typing import List, Dict class ParsedColumn(BaseModel): name: str values: List[str] class ParsedTable(BaseModel): name: str columns: List[ParsedColumn] - Sistem prompt'u şöyleydi:
Sen bir web scraping uzmanısın. HTML tablosunun içeriğini alıp yapılandırılmış veri çıkarman gerekiyor
Karmaşık tabloları parse etmek
- Basit tablolar denendikten sonra, Weather.com'un 10 günlük hava tahmini gibi daha karmaşık tablolar test edildi
- GPT-4o, veriyi doğru şekilde parse ederek
Day/Nightsütununu ekledi Conditionsütunu sitede görünmediği için önce halüsinasyon sanıldı, ancak kaynak kod incelendiğinde gerçekten var olan bir etiket olduğu görüldü
Birleştirilmiş satırlar modeli bozuyor
- Wikipedia'daki basit bir tablo (Human Development Index) test edildi, ancak birleştirilmiş satırlar nedeniyle model başarısız oldu
- Sistem prompt'u değiştirilse de etkili olmadı
GPT-4o'dan XPath döndürmesini istemek
- OpenAI API çağrı maliyetini azaltmak için, parse edilmiş veri yerine XPath döndürmesi istendi
- Ancak model çoğu zaman yanlış XPath döndürdü ya da hiç veri döndürmedi
İki yaklaşımı birleştirmek
- Veriler çıkarıldıktan sonra, bunları referans alarak XPath isteme yaklaşımı denendi
- Bu yöntem daha iyi sonuç verdi, ancak görsellerin metne dönüştürülmesi sorunu ortaya çıktı
GPT-4o çok pahalı
- GPT-4o kullanılarak yapılan scraping yüksek maliyetli
- HTML dizgesindeki gereksiz verileri kaldıran bir temizleme mantığı eklenerek maliyet düşürüldü
Sonuç ve demo
- GPT-4o'nun veri çıkarma kalitesi etkileyici bulunsa da maliyet sorunu hayal kırıklığı yarattı
- Streamlit ile hazırlanmış basit bir demo sunuluyor
- Daha fazla deneyle geliştirilebilecek çok nokta var
GN⁺ özeti
- Bu yazı, yapay zeka kullanılan web scraping'in olanaklarını ve sınırlarını inceliyor
- GPT-4o'nun yapılandırılmış çıktı özelliğiyle karmaşık tablo verilerinin doğru biçimde çıkarılabildiğini gösteriyor
- Maliyet sorunu ve bazı teknik sınırlamalar olsa da, yapay zeka destekli web scraping araçlarının potansiyelini ortaya koyuyor
- Benzer işlevler sunan diğer projeler arasında BeautifulSoup ve Scrapy bulunuyor
1 yorum
Hacker News görüşleri
HTML'i basit bir biçime dönüştürdükten sonra (ör. markdown) LLM'e iletmek başarılı oldu
Yapılandırılmış içeriklerde (ör. öğe listeleri, basit tablolar) LLM'e gerek yok
Yazının sahibinin işin %99'unu tamamlayıp kalan %1 için ollama'yı indirip test etmemiş olması şaşırtıcı
Sayfanın ekran görüntüsünü alıp gereken kısmı kırparak GPT'ye verme yöntemi kullanılıyor
OpenAI kısa süre önce Batch API'yi duyurdu
HTML örneği verip beautifulsoup kod parçacığı isteme yöntemi etkili oldu
Bir "html reducer" olup olmadığı merak ediliyor
Doğrudan GPT-4o ile scrape etmek yerine GPT-4o'ya basit bir web scraper script'i yazdırılabilir
Kadoa'da yapay zeka destekli otomatik web scraping üzerinde çalışılıyor
Klasik müzik veritabanı oluşturuluyor