Ödeme korumasıAyrıntılar
- Paket kapsamındaki revizyonlar ücretsizdir.
- Teslimattan sonraki 3 gün içinde yanıt vermezseniz iş otomatik olarak onaylanır.
Para, ödeme yaptığınızda bloke edilir ve yalnızca işi onayladığınızda aktarılır.

Örnek sonuç
Parser of a garden tools supplier's catalog into Excel
What the result looks like
| Article | Name | Price | In stock | Weight | Photo |
|---|---|---|---|---|---|
| GT-1042 | Pruning shears, 20 mm | 18.90 | Yes | 0.24 kg | …/gt-1042.jpg |
| GT-1187 | Folding saw, 210 mm | 24.50 | Yes | 0.31 kg | …/gt-1187.jpg |
| GT-2210 | Hedge shears, wavy blade | 39.00 | No | 1.10 kg | …/gt-2210.jpg |
| GT-3305 | Hand trowel, stainless | 9.80 | Yes | 0.18 kg | …/gt-3305.jpg |
| GT-4120 | Garden hose 25 m, 1/2" | 42.00 | Yes | 2.90 kg | …/gt-4120.jpg |
The file in the example has 1,236 products from 52 list pages.
A part of the code
def product_links(list_url: str) -> Iterator[str]:
"""Product page links from every page of the list, following 'Next'."""
url: str | None = list_url
while url:
page = fetch(url)
for card in page.select("div.product-card a.title"):
yield urljoin(url, card["href"])
next_link = page.select_one("a.pagination-next")
url = urljoin(url, next_link["href"]) if next_link else None
def fetch(url: str) -> BeautifulSoup:
"""One open page, at a polite pace: a pause between requests and a few tries on errors."""
for attempt in range(3):
time.sleep(settings.delay_seconds)
response = session.get(url, timeout=30)
if response.status_code == 200:
return BeautifulSoup(response.text, "html.parser")
log.warning("%s answered %s, try %d of 3", url, response.status_code, attempt + 1)
raise ScraperError(f"{url} did not open after 3 tries")
Files: a ZIP archive with scraper.py, settings.ini (the start page, the pause between requests, the file name), requirements.txt and a README on installing and running it. It reads only open pages, one every 2 seconds, and checks the site's robots.txt first. The client runs it on their own computer.
Client: an online garden shop that resells a supplier's tools; the supplier has an open catalog on its website but no price list file. Task: go through the catalog's list pages, open every product page and save the article number, name, price, stock, weight and main photo link to Excel, to compare prices once a week.
Müşteri ve tüm ayrıntılar kurgusaldır.
Bu hizmet hakkında
Bu parser, bir rakibin herkese açık ürün sayfalarını okur ve fiyatlarını kendi fiyatlarınızla karşılaştırabileceğiniz bir tabloya aktarır: ürün adı, ürün kodu, fiyat, eski fiyat, indirim, stok durumu ve bağlantı, kontrol tarihiyle birlikte. Bize siteyi, bir kategori ve bir ürün sayfası bağlantısını, tablonuzdaki sırayla alanları ve tarayıcınızdan kaydedilmiş bu sayfalardan bir ya da ikisini verin. Kodu Python'da, sayfaların gerçek yapısına göre, bir ayar dosyası ve README ile yazarız. Güncel fiyatlar istediğinizde onu bilgisayarınızda çalıştırırsınız ve tablo doğrudan size gelir. Yalnızca açık sayfaları siteyi yormayan bir hızda okur; asla oturum açmaz, CAPTCHA'ları ya da korumaları aşmaz, kişisel veri toplamaz. Sitenin koşullarının buna izin verip vermediğine siz karar verirsiniz; sitenin düzeni sonradan değişirse güncelleme gerekir.
Neler dahil
- Neler alırsınızPython kodunu, bir ayar dosyasını ve adım adım talimatlar içeren bir README dosyasını barındıran bir ZIP arşivi; kod sipariş sayfasında da gösterilir.
- Fiyat sütunlarıFiyat, eski fiyat ve indirim ayrı sayılar olarak
- Eşleştirme için kodlarSayfada görünüyorsa rakibin ürün kodu ya da barkodu
- Her kontrolün tarihiHer satırda toplandığı tarih yer alır
- Nazik hızSayfalar arasında sizin belirlediğiniz bir bekleme süresi
- Bilgisayarınızda çalışırWindows, macOS ya da Linux; güncel fiyatlar için yeniden çalıştırın
Nasıl çalışır
- 1SayfalarRakibin sitesini, bir kategoriyi ve kaydedilmiş bir ürün sayfasını verirsiniz
- 2ParserKodu bu sayfalara göre ve çalıştırma kılavuzunu yazarız
- 3ÇalıştırmaÇalıştırır ve ilk satırları siteyle karşılaştırırsınız
- 4DeğişikliklerPaketiniz kapsamında değişiklik ister, varsa hata mesajını gönderirsiniz
Sizden neler gerekiyor
Rakibin sitesi ve tam sayfalar: bir kategori ve bir ürün sayfası bağlantısı ve yaklaşık kaç ürün olduğu. Tablonuzdaki sırayla ihtiyacınız olan alanlar, ör. ad, kod, fiyat, eski fiyat, stok durumu, bağlantı. Tarayıcınızdan HTML olarak kaydedilmiş (Dosya > Sayfayı farklı kaydet) bu sayfalardan bir ya da ikisi veya ekran görüntüleri. CSV mi Excel mi olacağı ve nerede çalıştıracağınız.
Size soracaklarımız:
- Hangi rakip sitesi ve sayfalar?
- İhtiyacınız olan alanlar
- Yaklaşık kaç ürün?
- Ne sıklıkla çalıştıracaksınız?
Paketleri karşılaştırın
| Paketler | TemelÜrün sayfalarından fiyatlar$21 | StandartBütün bir kategori$42 | PremiumEn fazla 3 rakip$75 |
|---|---|---|---|
| Teslim süresi | 1 gün | 2 gün | 3 gün |
| Revizyonlar | 1 | 2 | 3 |
| Siteler | 1 | 1 | en fazla 3 |
| Sayfa türleri | 1 | 2 (kategori ve ürün) | en fazla 3 |
| Alanlar | en fazla 10 | en fazla 25 | her birinde en fazla 25 |
| Bir listenin sayfalarında gezinir | Hayır | Evet | Evet |
| Sonuç dosyası | CSV | Excel ya da CSV | Excel, CSV ya da JSON |
| Tekrarlar temizlenir, kaldığı yerden devam eder | Hayır | Hayır | Evet |
| Sipariş ver Temel | Sipariş ver Standart | Sipariş ver Premium |
Ödeme koruması
Sipariş verirken ödersiniz, ancak para yalnızca onaylanan iş için aktarılır.
- Sabit fiyatPaket fiyatı, ödeme yaptıktan sonra değişmez.
- Para bloke edilirÖdeme yaptığınızda tutar yalnızca bloke edilir. İşi onayladığınızda hizmete aktarılır.
- Teslimattan önce kontrolHer sonuç size ulaşmadan önce kalite kontrolünden geçer ve onaylamadan önce sipariş sayfasında görürsünüz.
- Ücretsiz revizyonlarBrifiniz kapsamında, paketin izin verdiği sayıda değişiklik isteyin.
- 3 gün sonra onayTeslimattan sonraki 3 gün içinde işi onaylamaz veya değişiklik istemezseniz iş otomatik olarak onaylanır. Teslimattan sonra sipariş sohbetine yazarsanız sipariş bekletilir; yanıt verdikten sonra 3 günlük süreyi yeniden başlatabiliriz ve bunu sohbette bildiririz.
- Yeniden yapım veya tam iadeSonuç brifinize uymuyorsa ve revizyonlar sorunu çözmediyse ya da iş teslim süresinin iki katından uzun sürerse sipariş sohbetine yazın: işi yeniden yaparız veya ödemenin tamamını iade ederiz.
Sorular ve yanıtlar
Rakibin ürünlerini benimkilerle eşleştirir mi?
Rakibin kodunu, barkodunu ve adını sayfada göründüğü gibi kaydeder; böylece bunları Excel'de kendi listenizle eşleştirebilirsiniz. Kodlar sizinkinden farklıysa eşleştirme size kalır: hangi ürünlerin aynı olduğunu tahmin etmeyiz.
Oturum açmış ya da toptan alıcılara gösterilen fiyatları görebilir mi?
Hayır. Açık bir sayfanın her ziyaretçiye gösterdiği fiyatları okur. Bir hesabın, toptan satış girişinin ya da CAPTCHA'nın arkasındaki fiyatlara erişilemez.
Bir rakibin fiyatlarını toplamak serbest mi?
Herkese açık fiyatları toplamak çoğu durumda serbesttir, ancak sitelerin koşulları ve veri yasaları ülkeden ülkeye değişir; bu yüzden bunları toplayıp kullanıp kullanamayacağınıza siz karar verirsiniz. Parser asla oturum açmaz, korumaları aşmaz ya da kişisel veri toplamaz.
Amazon'dan, Google'dan ya da sosyal ağlardaki mağazalardan fiyat toplayabilir mi?
Hayır. Koşulları bunu yasaklar; aynısı LinkedIn ve diğer sosyal ağlar için de geçerlidir. Bu tür veriler için hizmetin resmi dışa aktarma özelliğini ya da API'sini kullanın.
Rakip sitesini değiştirirse ne olur?
Parser sayfaları şu anki hâliyle takip eder. Düzen değişikliğinden sonra güncelleme gerekir ve bu yeni bir sipariştir. Site ziyaretleri sınırlıyorsa parser bunu aşmaz.
Yanıtınızı bulamadınız mı?