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.