Ürün yorumları parser'ıGeliştirme ve Özelleştirme

Açık ürün yorumlarını bir tabloya toplayan Python parser'ı: yalnızca metin, puan ve tarih, isim yok

Genellikle 15 dakika içinde hazırRevizyonlar dahilKalite kontrolü
Paketler
Ö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.

Açık ürün yorumlarını bir tabloya toplayan Python parser'ı: yalnızca metin, puan ve tarih, isim yok

Örnek sonuç

Standart paket için örnek

Parser of a garden tools supplier's catalog into Excel

What the result looks like

ArticleNamePriceIn stockWeightPhoto
GT-1042Pruning shears, 20 mm18.90Yes0.24 kg…/gt-1042.jpg
GT-1187Folding saw, 210 mm24.50Yes0.31 kg…/gt-1187.jpg
GT-2210Hedge shears, wavy blade39.00No1.10 kg…/gt-2210.jpg
GT-3305Hand trowel, stainless9.80Yes0.18 kg…/gt-3305.jpg
GT-4120Garden hose 25 m, 1/2"42.00Yes2.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

Alıcıların sizin ya da bir rakibin ürünlerinde neyi beğenip neyi beğenmediğini görmek için bu parser açık yorumları bir tabloya toplar: ürün ve bağlantısı, her yorum için de yalnızca metin, puan ve tarih. Yorum yapanların adları, kullanıcı adları, fotoğrafları ve profil bağlantıları dışarıda bırakılır; böylece tabloda hiçbir kişisel veri yer almaz. Mağazanın sitesini, yorumları olan bir ürün sayfasını ve tarayıcınızdan kaydedilmiş bir ya da iki sayfayı gönderin; yorumlar bir “daha fazla göster” düğmesiyle açılıyorsa parser onu takip eder. Python kodu, bir ayar dosyası ve README alırsınız ve onu bilgisayarınızda çalıştırırsınız. Amazon'u, Google'ı, LinkedIn'i ya da sosyal ağları okumaz; asla oturum açmaz, CAPTCHA'ları ya da korumaları aşmaz ve siteyi yormayan bir hızda çalışır. 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.
  • Yorum başına üç bilgiMetin, puan ve tarih; kişi hakkında hiçbir şey
  • Ürüne bağlıHer yorum satırında ürün adı ve bağlantısı yer alır
  • Tüm yorum sayfaları“Daha fazla göster”i ve yorum sayfalarını takip eder
  • Nazik hızSayfalar arasında, ayarlardan belirlenen bir bekleme süresi
  • Bilgisayarınızda çalışırPython yüklü Windows, macOS ya da Linux

Nasıl çalışır

  1. 1
    SayfalarMağazayı, ürünleri ve yorumları olan kaydedilmiş bir sayfayı verirsiniz
  2. 2
    ParserKodu ve çalıştırma kılavuzunu yazarız
  3. 3
    ÇalıştırmaÇalıştırır ve bir ürünün yorum sayısını kontrol edersiniz
  4. 4
    DeğişikliklerPaketiniz kapsamında değişiklik ister, varsa hata mesajını gönderirsiniz

Sizden neler gerekiyor

Mağazanın sitesi ve tam sayfalar: ürün bağlantıları listesi ya da bir kategori bağlantısı ve yaklaşık kaç ürün ve yorum olduğu. Yorum metni, puan ve tarih dışında ihtiyacınız olan ürün alanları, ör. ürün adı, kod, bağlantı, ortalama puan. Tarayıcınızdan kaydedilmiş (Dosya > Sayfayı farklı kaydet) yorumlu bir ya da iki sayfa veya ekran görüntüleri. CSV ya da Excel.

Size soracaklarımız:

  • Hangi mağaza ve ürünler?
  • Ürün alanları
  • Yaklaşık kaç yorum?
  • Yalnızca bazı yorumlar mı?

Paketleri karşılaştırın

PaketlerTemelÜrünlerinizin yorumları$22StandartBir kategori, her yorum$42PremiumEn fazla 3 mağaza$76
Teslim süresi1 gün2 gün3 gün
Revizyonlar123
Siteler11en fazla 3
Sayfa türleri12 (ürün listesi ve yorumlar)en fazla 3
Alanlaren fazla 10en fazla 25her birinde en fazla 25
Bir listenin sayfalarında gezinirHayırEvetEvet
Sonuç dosyasıCSVExcel ya da CSVExcel, CSV ya da JSON
Tekrarlar temizlenir, kaldığı yerden devam ederHayırHayırEvet
Sipariş ver TemelSipariş ver StandartSipariş 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.
Nasıl çalışır →

Sorular ve yanıtlar

Yorum yapanın adını ya da şehrini toplayabilir mi?

Hayır. Her yorum yalnızca metnini, puanını ve tarihini tutar. Adlar, kullanıcı adları, şehirler, fotoğraflar ve profil bağlantıları kişisel veridir ve dışarıda kalır.

Yorumları iyi ve kötü diye ayırır mı?

Puanı kaydeder; böylece Excel'de ona göre filtreleyebilirsiniz. Metni değerlendirmez; okumak size kalır.

Bu yorumları kendi sitemde yayımlayabilir miyim?

Hayır, kendi yorumlarınız gibi değil: yazarlarına ve mağazaya aittirler ve onları sizinmiş gibi göstermek alıcıları yanıltır. İnsanların ne dediğini incelemek için kullanın.

Amazon'daki, Google Haritalar'daki ya da sosyal ağlardaki yorumları okuyabilir mi?

Hayır. Amazon, Google, LinkedIn ve sosyal ağlar kapsam dışıdır: koşulları bunu yasaklar. Diğer mağazalar için koşullarının buna izin verip vermediğine siz karar verirsiniz.

Yorumlar sayfayı kaydırdıkça yükleniyorsa ne olur?

O zaman parser bir tarayıcı kütüphanesi (Playwright) kullanır; README bunu anlatır. Mağaza düzenini sonradan değiştirirse parser'ın güncellenmesi gerekir.

Yanıtınızı bulamadınız mı?

Paketler