Parser resepPengembangan & Kustomisasi

Parser Python yang mengumpulkan resep terbuka ke dalam tabel: judul, kategori, waktu, porsi, bahan, dan tautan

Biasanya selesai dalam 15 menitTermasuk revisiPemeriksaan kualitas
Paket
Perlindungan pembayaranSelengkapnya
  • Revisi dalam batas paket tidak dikenai biaya.
  • Jika Anda tidak merespons dalam 3 hari setelah penyerahan hasil, hasil kerja diterima secara otomatis.

Uang ditahan saat Anda membayar dan diteruskan hanya setelah Anda menerima hasil kerja.

Parser Python yang mengumpulkan resep terbuka ke dalam tabel: judul, kategori, waktu, porsi, bahan, dan tautan

Contoh hasil

Contoh untuk paket Standar

Parser katalog pemasok alat berkebun ke Excel

Seperti apa hasilnya

ArtikelNamaHargaTersediaBeratFoto
GT-1042Gunting dahan, 20 mm18,90Ya0,24 kg…/gt-1042.jpg
GT-1187Gergaji lipat, 210 mm24,50Ya0,31 kg…/gt-1187.jpg
GT-2210Gunting pagar tanaman, mata bergelombang39,00Tidak1,10 kg…/gt-2210.jpg
GT-3305Sekop tangan, baja tahan karat9,80Ya0,18 kg…/gt-3305.jpg
GT-4120Selang taman 25 m, 1/2"42,00Ya2,90 kg…/gt-4120.jpg

File dalam contoh ini berisi 1.236 produk dari 52 halaman daftar.

Sebagian kode

def product_links(list_url: str) -> Iterator[str]:
    """Tautan halaman produk dari setiap halaman daftar, mengikuti tombol 'Berikutnya'."""
    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:
    """Satu halaman terbuka, dengan kecepatan sopan: jeda antarpermintaan dan beberapa kali coba saat error."""
    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 menjawab %s, percobaan %d dari 3", url, response.status_code, attempt + 1)
    raise ScraperError(f"{url} tidak terbuka setelah 3 percobaan")

File: arsip ZIP berisi scraper.py, settings.ini (halaman awal, jeda antarpermintaan, nama file), requirements.txt, dan README tentang cara memasang dan menjalankannya. Parser hanya membaca halaman terbuka, satu halaman setiap 2 detik, dan lebih dulu memeriksa robots.txt situs. Klien menjalankannya di komputernya sendiri.

Klien: toko online perlengkapan kebun yang menjual kembali alat dari seorang pemasok; pemasok punya katalog terbuka di situsnya, tetapi tidak punya file daftar harga. Tugas: menelusuri halaman-halaman daftar katalog, membuka setiap halaman produk, dan menyimpan nomor artikel, nama, harga, stok, berat, serta tautan foto utama ke Excel, untuk membandingkan harga seminggu sekali.

Klien dan semua datanya fiktif.

Tentang layanan ini

Food blogger yang memindahkan resep mereka sendiri, aplikasi memasak, dan layanan perencanaan menu memakai parser ini untuk menyusun tabel resep dari halaman terbuka: judul, kategori, masakan, waktu memasak, porsi, bahan, langkah, kalori jika halaman menampilkannya, tautan gambar, dan tautan. Banyak halaman resep juga menyimpan fakta ini dalam blok terstruktur tersembunyi, dan parser membacanya jika ada. Kirimkan situsnya, satu kategori dan satu halaman resep, serta satu atau dua halaman yang disimpan dari browser Anda. Anda menerima kode Python, file pengaturan, dan README, lalu menjalankannya di komputer Anda. Teks dan foto resep milik pembuatnya: gunakan hanya yang Anda boleh gunakan. Nama penulis tidak disertakan. Parser membaca halaman terbuka dengan kecepatan sopan dan tidak pernah login atau mengakali captcha maupun perlindungan. Anda yang memutuskan apakah ketentuan situs mengizinkannya; perubahan tata letak di kemudian hari membutuhkan pembaruan.

Yang termasuk

  • Yang Anda dapatkanArsip ZIP berisi kode Python, file pengaturan, dan README dengan petunjuk langkah demi langkah; kodenya juga ditampilkan di halaman pesanan.
  • Bahan sebagai daftarSatu bahan per baris dalam satu sel, atau di sheet terpisah
  • Waktu dan porsiSebagai angka yang bisa difilter
  • Tautan gambarHanya tautan; gunakan foto yang Anda boleh gunakan
  • Kecepatan sopanJeda antarhalaman, diatur di pengaturan
  • Berjalan di komputer AndaWindows, macOS, atau Linux, dengan Python

Cara kerja

  1. 1
    HalamanAnda mengirim situs, satu kategori, dan satu resep yang disimpan
  2. 2
    ParserKami menulis kode dan panduan menjalankannya
  3. 3
    JalankanAnda menjalankannya dan mencocokkan dua resep dengan situsnya
  4. 4
    RevisiAnda meminta revisi sesuai paket dan mengirim pesan error jika ada

Yang kami butuhkan dari Anda

Situs resep dan halaman persisnya: tautan ke satu kategori dan ke satu resep, serta kira-kira berapa banyak resepnya. Field yang Anda butuhkan, mis. judul, kategori, masakan, waktu, porsi, bahan, langkah, kalori, tautan gambar. Bagaimana bahan harus ditampilkan: satu sel atau sheet terpisah. Satu atau dua halaman tersebut yang disimpan dari browser Anda (File > Save page as). Dan apakah ini resep Anda sendiri atau resep dari situs lain.

Kami akan menanyakan:

  • Situs dan halaman mana?
  • Field yang Anda butuhkan
  • Kira-kira berapa banyak resep?
  • Bagaimana bahan harus ditampilkan?

Bandingkan paket

PaketDasarResep dari tautan AndaRp 357.000StandarSeluruh bagian resepRp 714.000PremiumHingga 3 situs resepRp 1.275.000
Tenggat1 hari2 hari3 hari
Revisi123
Situs11hingga 3
Jenis halaman12 (daftar resep dan resep)hingga 3
Fieldhingga 10hingga 25hingga 25 di masing-masing
Menelusuri halaman-halaman daftarTidakYaYa
File hasilCSVExcel atau CSVExcel, CSV, atau JSON
Duplikat dihapus, melanjutkan dari titik berhentiTidakTidakYa
Pesan DasarPesan StandarPesan Premium

Perlindungan pembayaran

Anda membayar saat memesan, tetapi uangnya diteruskan hanya untuk hasil kerja yang diterima.

  • Harga pastiHarga paket tidak berubah setelah Anda membayar.
  • Uang ditahanSaat Anda membayar, jumlahnya hanya ditahan. Dana diteruskan ke Dleex setelah Anda menerima hasil kerja.
  • Diperiksa sebelum penyerahanSetiap hasil melewati pemeriksaan kualitas sebelum sampai kepada Anda, dan Anda dapat melihatnya di halaman pesanan sebelum menerimanya.
  • Revisi gratisMinta revisi sesuai brief Anda sebanyak yang diizinkan paket.
  • Diterima setelah 3 hariJika dalam 3 hari setelah penyerahan hasil Anda tidak menerima hasil kerja maupun meminta revisi, hasil kerja diterima secara otomatis. Jika Anda menulis di chat pesanan setelah penyerahan hasil, pesanan akan menunggu; setelah kami menjawab, kami dapat memulai ulang hitungan 3 hari dan akan memberitahukannya di chat.
  • Dikerjakan ulang atau pengembalian dana penuhJika hasilnya tidak sesuai brief Anda dan revisi tidak memperbaikinya, atau pengerjaan memakan waktu lebih dari dua kali tenggatnya, tulis di chat pesanan: kami akan mengerjakan ulang atau mengembalikan pembayaran secara penuh.
Cara kerjanya →

Tanya jawab

Bolehkah saya menerbitkan resep yang terkumpul di situs saya?

Hanya dengan izin pemiliknya, atau jika resep itu milik Anda sendiri. Teks dan foto resep milik pembuatnya; parser mengumpulkannya, dan apa yang Anda terbitkan adalah keputusan Anda.

Bisakah parser memisahkan jumlah dan satuan?

Ya, jika halaman menuliskannya dengan pola yang tetap, seperti biasanya di blok terstruktur. Jika sebuah baris berbunyi «sejumput garam», baris itu tetap seperti tertulis.

Bisakah parser menghitung kalori?

Tidak. Parser mengambil kalori hanya jika halaman menampilkannya, dan kami tidak menghitung gizi atau memberi saran diet.

Bisakah parser membaca resep dari media sosial atau situs video?

Tidak. Media sosial, LinkedIn, Google, dan Amazon tidak termasuk: ketentuan mereka melarangnya. Situs resep tidak masalah jika ketentuannya mengizinkan, yang Anda putuskan.

Tidak menemukan jawabannya?

Paket