06. Web veri çıkarımı

Web sayfaları çok fazla veriye sahiptir. Bu veriler arasında çalışmanız için uygun verileri elde etme birçok metin işleme uygulamasını iyileştirmek için önem taşır. Benimde çalışma alanım olan (Doçentliğimi aldığım:) – Doçentlik sınavında hiç soru gelmese de ;)) bu konu üzerine geliştirilmiş birkaç kütüphaneyi tanıtacağım.

Beatiful Soup

06.01. Scapy

Scapy, web sayfalarını otomatik olarak dolaşarak (crawler özelliği), istediğiniz verileri toplamınıza yardımcı olan bir kütüphanedir. Genişletilebilir olması ve taşınabilirlik özellikleri ile çok kullanışlı bir kütüphane oluyor. Birçok HTML ayrıştırıcıya (Parser) sahip olan Scrapy veriyi elde etmek için birden fazla yola imkan tanır. Ayrıca, veriyi yapısal bir şekilde topladığı için kaydetme sırasında dosya bir CSV veya JSON formatına rahatlıkla çevrilebilir.

06.02. Beatiful Soup

Beautiful Soup, HTML ve XML dosyalarından veri çeken bir Python kütüphanesidir. Scrapy içinde benzer kütüphaneler vardır. Farklı HTML ayrıştırıcıları destekler. Ayrıştırma işlemi sonunda ortaya çıkan DOM (Document Object Model) ağacı üzerinde dolaşabilir, arama yapabilir ve ağacı modifiye edebilirsiniz.

06.03. lxml

lxlml, XML ve HTML işlemek için BeatifulSoup’a benzer özelliklere sahip kullanımı kolay bir kütüphanedir. C tabanlı bir kütüphane olması nedeniyle ayrıştırma işlemi konusunda çok hızlı olduğu söylenir. Scrapy tarafından geçerli ayrıştırıcı olarak kullanılır.