Bu makalenin orijinal yazarı, bilgi teknolojisi ve hizmetleri şirketi Waldo'nun kurucu ortağı ve CTO'su Greg Lamp'dir. Şirket, fiyatlar düştüğünde paranızı geri almaya adamıştır.Belki bu makale size araştırma veya girişimcilik için bazı fikirler sağlayabilir.
Resim kaynağı: pexels.com/@belart84
Aşağıda makalenin tam metni yer almaktadır:
Ali, yukarıdaki bilgileri favori satıcılarınızdan her gün toplayabilir
İlk veri bilimi şirketini sattıktan sonra, insanların son zamanlarda satın aldıkları şeylerden kolayca tasarruf etmelerine yardımcı olmak için yeni bir şirket kurmaya karar verdim.
Şirketin adını Waldo (https://www.getwaldo.com/) olarak belirledik ve harcadığınız ekstra parayı geri almanıza yardımcı olmaya kararlıyız. Yakın zamanda satın aldığınız bir ürünün fiyatı düşürülürse veya tanıtılırsa, Ali ürünün fiyatını fiyat koruma penceresinde otomatik olarak ayarlayabilir.
Waldo'nun "yapay beyni" aslında her gün 15 milyondan fazla çevrimiçi ürünün fiyatlarını takip edebilen teknolojik bir altyapıdır. Şu anda 70'den fazla tüccarın ürünlerini takip ettik ve bu sayı her geçen gün artıyor.
Her fiyatı düzeltmeli
Mühendislik açısından bakıldığında, çevrimiçi satılan ürünlerin büyük satışları nedeniyle bazı alanların bakımının daha zor olacağını biliyoruz. Bu nedenle, perakendecilerin ürün satışlarına göre dağılımına baktık - çoğu alanda izlenecek yalnızca birkaç ürün olduğunu bulduk.
Perakendecilerin ürün satışlarına göre uzun kuyruk dağılımı
Buna göre, malların orijinal miktarı bir sorun değildir.Gerçek zorluk, bu kadar çok farklı alanın nasıl korunacağıdır.
Bu çılgın fikri gerçekleştirmenin yolu
Bu nedenle, 15 milyondan fazla emtianın fiyatlarını takip etmek için, sorular aşağıdaki iki kategoriye ayrılabilir:
1. Genişlik 70'den fazla alanda emtia fiyatlarını izleyin ve bakım maliyetleri keskin bir şekilde artmayacaktır.
2. Sıklık - Fiyat güncellemelerinin sıklığı ne kadar yüksekse, o kadar fazla promosyon bulabilir ve geri ödeme işlemi o kadar hızlı olur.
Yukarıdaki iki konuya dayanarak, operasyonel verimlilik ve kullanıcı özelleştirmesi için uygulama süresini, yeniden kullanılabilirliği ve bakım süresini optimize etmeye karar verdik.
Waldo tarafından desteklenen her alanda sıyırıcılar oluşturmaya başladık. Köprü Metni Biçimlendirme Dili (HTML) etki alanından etki alanına değişiklik gösterse de, yöntem aynıdır:
1. Her bir etki alanındaki tüm kategorilerin bir listesini alın
2. Her kategorideki tüm ürünleri alın
Bu, oluşturulan tarayıcıların tarz olarak çok benzer olduğu anlamına gelir. Kodun yeniden kullanılabilirliğine ulaştık, bu da ekibin bilişsel aşırı yükünün azaldığı anlamına geliyor.
Navs, belirli bir alandaki tüm kategorileri daha hızlı bulmamızı sağlar
Python
Waldo tarayıcı yığınının programlama dili olarak Python kullanmanın iki ana noktası vardır:
1. "Yukarıdan aşağıya, soldan sağa" çok yönlü uyarlama
Başlangıçta node.js kullanmayı düşündük (bu, web uygulamalarımızın kullandığı dildir). Bir şirket için birleşik bir programlama diline sahip olmak iyi olsa da, node.js, geri aramalar ve eşzamansız işlemlerle uğraşırken zahmetli ve hataya açıktır. Bu nedenle, Python ile denemeye başladık ve çok uygun hissettirdi.
2. Kitaplık
Python, istekler (https://2.python-requests.org/en/master/), BeautifulSoup (https://www.crummy.com/software/BeautifulSoup/ gibi birçok kitaplığı kapsayan harika bir tarayıcı ekosistemine sahiptir. bs4 / doc /) ve Scrapy (https://scrapy.org/).
Kod yeniden kullanılabilirliği söz konusu olduğunda, Scrapy gerçekten kullanışlıdır. Scrapy, çok sayıda varsayılan değere ve zengin bir araç setine sahiptir, böylece en gelişmiş geliştiriciler bile kısa sürede etkili tarayıcılar oluşturabilir.
Scrapy ayrıca XPath'ler için yerleşik desteğe sahiptir (https://www.w3schools.com/xml/xml_xpath.asp), her ürün sayfasındaki verileri ayrıştırmak ve çıkarmak için kullanırız.
Scrapinghub
Scrapy'nin bir başka avantajı da Scrapinghub'ın (https://scrapinghub.com/) profesyonel desteğidir. Scrapinghub ekibi, sadece Scrapy'nin açık kaynak projesi için yeni özellikler sağlamakla kalmıyor, aynı zamanda Scrapy tabanlı kendi SaaS ürünlerini yönetiyor ve çalıştırıyor.
Scrapinghub, zamanlamadan esnek ölçeklendirmeye kadar tarayıcı yönetimi için tüm altyapıyı sağlar, böylece ekip, "bakım" çalışmasıyla sınırlı kalmak yerine tarayıcıların iş uygulamalarına odaklanabilir.
XPathHelper
Son araç, XPaths Chrome eklentisini test etmek için kullanılabilen XPath Helper'dır (https://chrome.google.com/webstore/detail/xpath-helper/hgimnogjllphhhkhlmebbmlgjoejdpjl?hl=en).
Xpath'ler kontrolden çıkabilir, bu nedenle bir sandbox / konsol aracına sahip olmak kazıyıcıda hata ayıklamaya gerçekten yardımcı olabilir.
Sağ üst köşedeki metin kutusuna XPath yazın ve sonucu gerçek zamanlı olarak görüntüleyin
Kalite kontrol
Tarayıcıların kalitesi zamanında izlenemezse, pek değeri yoktur. Alan adlarının, tarayıcıların ürün fiyatlarını tespit edebilmesi için bazen düzeni değiştirdiğini gördük. En yaygın iki sorun şunlardır:
1. Veri bütünlüğü sorunları (yani yinelenen değerler, eksik ürün fiyatları vb.)
2. Veriler eksik (yani ürün gerçekten etki alanında, ancak veritabanımızda yok)
Veri bütünlüğü
Veri bütünlüğü sorununu çözmek için birçok kontrol toplamı gerçekleştirdik. Sağlama toplamı basit bir kontrol biçimidir. Doğru görünmeyen sayıları belirlemek için sağlama toplamını sorgulayabilirsiniz. Örneğin, veritabanında yinelenen stok tutma birimleri (SKU) olup olmadığını kontrol edin.
Tüm verilerin normal olmasını sağlamak için her saat çalışan bir dizi sağlama toplamımız var.
Kayıp veri
Her bir alanda yalnızca kaç ürün olduğunu tahmin edebiliriz, bu nedenle tüm kataloğun taranıp taranmadığını bilmiyoruz. Bu nedenle ürünler bazen gözden kaçmaktadır.
Genellikle bu ürünler, tarayıcıların uğraşması gerektiğini düşünmediğimiz belirsiz kategorilerde gizlidir. Bir örnek, web sitesinin ürünleri kategorize etme ve tanıtma şeklidir. Bir Coach cüzdanının satışta olduğunu varsayalım. Bu, bu çantanın aksesuar kategorisinden promosyon kategorisine veya hatta daha zor temizleme kategorisine taşınmasına neden olabilir (evet, promosyon ve temizleme genellikle iki ayrı kategoridir).
Bu sorunu çözmek için, ürün örneklerini alandan çıkarmak ve bunların depoya konulup konulmadığını doğrulamak için manuel bir kalite güvence süreci oluşturduk. Evet, örnek. Çok ilkel olmasına rağmen çok etkilidir. İnsanların, tarayıcıların özleyebileceği ürünleri tespit etmede ne kadar iyi olduğuna şaşıracaksınız.
Yorum Beğen Takip Et
AI öğrenme ve geliştirmenin kuru mallarını paylaşalım
Tam platform yapay zeka dikey öz medya "temel okuma tekniği" ni takip etmeye hoş geldiniz