Amazon ve e-bay ürün fiyatı arasındaki karşılaştırmayı gösteren bir web sitesi yapmak istiyorum. Bunlardan hangisi daha iyi çalışır ve neden? BeautifulSoup'a biraz aşinayım ama Scrapy tarayıcısına pek benzemiyorum .
Amazon ve e-bay ürün fiyatı arasındaki karşılaştırmayı gösteren bir web sitesi yapmak istiyorum. Bunlardan hangisi daha iyi çalışır ve neden? BeautifulSoup'a biraz aşinayım ama Scrapy tarayıcısına pek benzemiyorum .
Yanıtlar:
Scrapy bir Web-örümcek veya web kazıyıcı çerçevesidir , Scrapy'ye taramaya başlamak için bir kök URL verirsiniz, daha sonra taramak ve almak istediğiniz URL'lerin kaç (sayısı) üzerinde kısıtlamalar belirtebilirsiniz. Web kazıma veya tarama için eksiksiz bir çerçevedir .
Süre
BeautifulSoup , URL'den içerik almak için oldukça iyi bir iş de yapan ve bunların bazı bölümlerini sorunsuz bir şekilde ayrıştırmanıza izin veren bir ayrıştırma kütüphanesidir . Yalnızca verdiğiniz URL'nin içeriğini getirir ve sonra durur. Belirli ölçütlere sahip sonsuz bir döngüye elle koymadığınız sürece tarama yapmaz.
Basit bir deyişle, Güzel Çorba ile Scrapy'ye benzer bir şey inşa edebilirsiniz. Güzel Çorba bir kütüphane , Scrapy ise tam bir çerçevedir .
Bence her ikisi de iyi ... şu anda ikisini de kullanan bir proje yapıyorum. İlk önce scrapy kullanarak tüm sayfaları kazıyordum ve boru hatlarını kullanarak bir mongodb koleksiyonuna kaydedip sayfadaki görüntüleri de indiriyorum. Bundan sonra ben öznitelik değerlerini değiştirmek ve bazı özel etiketleri almak gerekir bir pos işleme yapmak için BeautifulSoup4 kullanın.
Hangi sayfaları istediğiniz ürünleri bilmiyorsanız, iyi bir araç scrap olacaktır çünkü tarayıcılarını, açık bir döngü yapmadan ürünleri arayan tüm amazon / ebay web sitesini çalıştırmak için kullanabilirsiniz.
Terapi belgelerine bir göz atın, kullanımı çok basit.
Her ikisi de verileri ayrıştırmak için kullanıyor.
Terapi :
BeautifulSoup :
Güzel Çorba HTML ve XML dosyalarından veri çekmek için bir Python kütüphanesidir.
java komut dosyasından veri almak veya sayfaları dinamik olarak yüklemek için bu paketi kullanabiliriz.
BeautifulSoup ile Scrapy, statik ve dinamik içerikleri kazımak için birlikte çalışabileceğimiz en iyi kombinasyonlardan biridir
Terapi Sadece kazıma mantığına odaklanabilmemiz için kazımayı kolaylaştıran tonlarca güzellikle birlikte gelenbir web kazıma çerçevesidir . Terapinin bizim için en sevdiği şeylerden bazıları aşağıda.
Proxy, kullanıcı aracısı, başlıklar vb. Ayarlamak: scrapy, proxy'yi ve diğer başlıkları dinamik olarak ayarlamamıza ve döndürmemize olanak tanır.
Madde Boru Hatları : Boru hatları, çıkarıldıktan sonra verileri işlememizi sağlar. Örneğin, boru hattını verileri mysql sunucunuza iletecek şekilde yapılandırabiliriz.
Çerezler: scrapy çerezleri bizim için otomatik olarak işler.
vb.
TLDR: terapi, büyük ölçekli taramalar yapmak için ihtiyaç duyulabilecek her şeyi sağlayan bir çerçevedir. Web'leri taramanın karmaşıklığını gizleyen çeşitli özellikler sunar. bir kurulum yükü hakkında endişelenmeden web tarayıcıları yazmaya başlayabilirsiniz.
Güzel çorba Güzel Çorba HTML ve XML belgelerini ayrıştırmak için bir Python paketidir. Böylece Güzel çorba ile indirilmiş bir web sayfasını ayrıştırabilirsiniz. BS4 çok popüler ve eskidir. Terapiden farklı olarak, sadece çorba yapmak için güzel çorba kullanamazsınız . Bs4 ile tarayıcılar yapmak için istek, urllib vb. Gibi diğer kütüphanelere ihtiyacınız olacaktır. Yine, bu, taranan URL'lerin listesini, taranması, çerezleri işlemesi, proxy'yi yönetmesi, hataları ele alması, verileri CSV, JSON, XML vb. daha çok işlem gibi diğer kütüphaneleri kullanmanız gerekecektir.
Sonuç olarak.
Scrapy, hiçbir karmaşa olmadan tarayıcılar yazmaya başlamak için kullanabileceğiniz zengin bir çerçevedir.
Güzel çorba, bir web sayfasını ayrıştırmak için kullanabileceğiniz bir kütüphanedir. Web'i kazımak için tek başına kullanılamaz.
Amazon ve e-bay ürün fiyat karşılaştırma web siteniz için kesinlikle terapi kullanmalısınız. Bir URL veritabanı oluşturabilir ve her gün tarayıcıyı çalıştırabilirsiniz (cron işleri, taramayı zamanlamak için kereviz) ve veritabanınızdaki fiyatı güncelleyebilirsiniz.Bu şekilde web siteniz her zaman veritabanından çekilecek ve tarayıcı ve veritabanı ayrı bileşenler olarak işlev görecektir.
BeautifulSoup bir web sayfasından bilgi almanızı sağlayan bir kütüphanedir.
Öte yandan Scrapy , verileri kaydetmek için boru hatları gibi kazıma projenizde muhtemelen ihtiyacınız olan şeyleri ve daha fazlasını yapan bir çerçevedir.
Scrapy ile başlamak için bu blogu kontrol edebilirsiniz https://www.inkoop.io/blog/web-scraping-using-python-and-scrapy/
Farklılıklar çoktur ve herhangi bir araç / teknoloji seçimi bireysel ihtiyaçlara bağlıdır.
Birkaç önemli fark: